/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the rekognition-2016-06-27.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Rekognition.Model { /// /// Container for the parameters to the PutProjectPolicy operation. /// Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting /// AWS account. A project policy specifies that a trusted AWS account can copy a model /// version from a trusting AWS account to a project in the trusted AWS account. To copy /// a model version you use the CopyProjectVersion operation. /// /// /// /// For more information about the format of a project policy document, see Attaching /// a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide. /// /// /// /// /// The response from PutProjectPolicy is a revision ID for the project policy. /// You can attach multiple project policies to a project. You can also update an existing /// project policy by specifying the policy revision ID of the existing policy. /// /// /// /// To remove a project policy from a project, call DeleteProjectPolicy. To get /// a list of project policies attached to a project, call ListProjectPolicies. /// /// /// /// /// You copy a model version by calling CopyProjectVersion. /// /// /// /// This operation requires permissions to perform the rekognition:PutProjectPolicy /// action. /// /// public partial class PutProjectPolicyRequest : AmazonRekognitionRequest { private string _policyDocument; private string _policyName; private string _policyRevisionId; private string _projectArn; /// /// Gets and sets the property PolicyDocument. /// /// A resource policy to add to the model. The policy is a JSON structure that contains /// one or more statements that define the policy. The policy must follow the IAM syntax. /// For more information about the contents of a JSON policy document, see IAM /// JSON policy reference. /// /// [AWSProperty(Required=true, Min=1, Max=2000)] public string PolicyDocument { get { return this._policyDocument; } set { this._policyDocument = value; } } // Check to see if PolicyDocument property is set internal bool IsSetPolicyDocument() { return this._policyDocument != null; } /// /// Gets and sets the property PolicyName. /// /// A name for the policy. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string PolicyName { get { return this._policyName; } set { this._policyName = value; } } // Check to see if PolicyName property is set internal bool IsSetPolicyName() { return this._policyName != null; } /// /// Gets and sets the property PolicyRevisionId. /// /// The revision ID for the Project Policy. Each time you modify a policy, Amazon Rekognition /// Custom Labels generates and assigns a new PolicyRevisionId and then deletes /// the previous version of the policy. /// /// [AWSProperty(Max=64)] public string PolicyRevisionId { get { return this._policyRevisionId; } set { this._policyRevisionId = value; } } // Check to see if PolicyRevisionId property is set internal bool IsSetPolicyRevisionId() { return this._policyRevisionId != null; } /// /// Gets and sets the property ProjectArn. /// /// The Amazon Resource Name (ARN) of the project that the project policy is attached /// to. /// /// [AWSProperty(Required=true, Min=20, Max=2048)] public string ProjectArn { get { return this._projectArn; } set { this._projectArn = value; } } // Check to see if ProjectArn property is set internal bool IsSetProjectArn() { return this._projectArn != null; } } }