/* * 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 lakeformation-2017-03-31.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.LakeFormation.Model { /// /// Container for the parameters to the RegisterResource operation. /// Registers the resource as managed by the Data Catalog. /// /// /// /// To add or update data, Lake Formation needs read/write access to the chosen Amazon /// S3 path. Choose a role that you know has permission to do this, or choose the AWSServiceRoleForLakeFormationDataAccess /// service-linked role. When you register the first Amazon S3 path, the service-linked /// role and a new inline policy are created on your behalf. Lake Formation adds the first /// path to the inline policy and attaches it to the service-linked role. When you register /// subsequent paths, Lake Formation adds the path to the existing policy. /// /// /// /// The following request registers a new location and gives Lake Formation permission /// to use the service-linked role to access that location. /// /// /// /// ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true /// /// /// /// If UseServiceLinkedRole is not set to true, you must provide or set the /// RoleArn: /// /// /// /// arn:aws:iam::12345:role/my-data-access-role /// /// public partial class RegisterResourceRequest : AmazonLakeFormationRequest { private string _resourceArn; private string _roleArn; private bool? _useServiceLinkedRole; private bool? _withFederation; /// /// Gets and sets the property ResourceArn. /// /// The Amazon Resource Name (ARN) of the resource that you want to register. /// /// [AWSProperty(Required=true)] public string ResourceArn { get { return this._resourceArn; } set { this._resourceArn = value; } } // Check to see if ResourceArn property is set internal bool IsSetResourceArn() { return this._resourceArn != null; } /// /// Gets and sets the property RoleArn. /// /// The identifier for the role that registers the resource. /// /// public string RoleArn { get { return this._roleArn; } set { this._roleArn = value; } } // Check to see if RoleArn property is set internal bool IsSetRoleArn() { return this._roleArn != null; } /// /// Gets and sets the property UseServiceLinkedRole. /// /// Designates an Identity and Access Management (IAM) service-linked role by registering /// this role with the Data Catalog. A service-linked role is a unique type of IAM role /// that is linked directly to Lake Formation. /// /// /// /// For more information, see Using /// Service-Linked Roles for Lake Formation. /// /// public bool UseServiceLinkedRole { get { return this._useServiceLinkedRole.GetValueOrDefault(); } set { this._useServiceLinkedRole = value; } } // Check to see if UseServiceLinkedRole property is set internal bool IsSetUseServiceLinkedRole() { return this._useServiceLinkedRole.HasValue; } /// /// Gets and sets the property WithFederation. /// /// Whether or not the resource is a federated resource. /// /// public bool WithFederation { get { return this._withFederation.GetValueOrDefault(); } set { this._withFederation = value; } } // Check to see if WithFederation property is set internal bool IsSetWithFederation() { return this._withFederation.HasValue; } } }