// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutResourcePolicy`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`policy_in_json(impl Into<String>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::policy_in_json) / [`set_policy_in_json(Option<String>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::set_policy_in_json):<br>required: **true**<br><p>Contains the policy document to set, in JSON format.</p><br>
/// - [`resource_arn(impl Into<String>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::resource_arn) / [`set_resource_arn(Option<String>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::set_resource_arn):<br>required: **false**<br><p>Do not use. For internal use only.</p><br>
/// - [`policy_hash_condition(impl Into<String>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::policy_hash_condition) / [`set_policy_hash_condition(Option<String>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::set_policy_hash_condition):<br>required: **false**<br><p>The hash value returned when the previous policy was set using <code>PutResourcePolicy</code>. Its purpose is to prevent concurrent modifications of a policy. Do not use this parameter if no previous policy has been set.</p><br>
/// - [`policy_exists_condition(ExistCondition)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::policy_exists_condition) / [`set_policy_exists_condition(Option<ExistCondition>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::set_policy_exists_condition):<br>required: **false**<br><p>A value of <code>MUST_EXIST</code> is used to update a policy. A value of <code>NOT_EXIST</code> is used to create a new policy. If a value of <code>NONE</code> or a null value is used, the call does not depend on the existence of a policy.</p><br>
/// - [`enable_hybrid(EnableHybridValues)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::enable_hybrid) / [`set_enable_hybrid(Option<EnableHybridValues>)`](crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::set_enable_hybrid):<br>required: **false**<br><p>If <code>'TRUE'</code>, indicates that you are using both methods to grant cross-account access to Data Catalog resources:</p> <ul> <li> <p>By directly updating the resource policy with <code>PutResourePolicy</code></p></li> <li> <p>By using the <b>Grant permissions</b> command on the Amazon Web Services Management Console.</p></li> </ul> <p>Must be set to <code>'TRUE'</code> if you have already used the Management Console to grant cross-account access, otherwise the call fails. Default is 'FALSE'.</p><br>
/// - On success, responds with [`PutResourcePolicyOutput`](crate::operation::put_resource_policy::PutResourcePolicyOutput) with field(s):
/// - [`policy_hash(Option<String>)`](crate::operation::put_resource_policy::PutResourcePolicyOutput::policy_hash): <p>A hash of the policy that has just been set. This must be included in a subsequent call that overwrites or updates this policy.</p>
/// - On failure, responds with [`SdkError<PutResourcePolicyError>`](crate::operation::put_resource_policy::PutResourcePolicyError)
pub fn put_resource_policy(&self) -> crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder {
crate::operation::put_resource_policy::builders::PutResourcePolicyFluentBuilder::new(self.handle.clone())
}
}