/* * 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 controltower-2018-05-10.normal.json service model. */ using System; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Amazon.Runtime; using Amazon.ControlTower.Model; namespace Amazon.ControlTower { /// /// Interface for accessing ControlTower /// /// These interfaces allow you to apply the AWS library of pre-defined controls /// to your organizational units, programmatically. In this context, controls are the /// same as AWS Control Tower guardrails. /// /// /// /// To call these APIs, you'll need to know: /// /// /// /// To get the ControlARN for your AWS Control Tower guardrail: /// /// /// /// The ControlARN contains the control name which is specified in each guardrail. /// For a list of control names for Strongly recommended and Elective guardrails, /// see Resource /// identifiers for APIs and guardrails in the Automating /// tasks section of the AWS Control Tower User Guide. Remember that Mandatory /// guardrails cannot be added or removed. /// /// /// /// ARN format: arn:aws:controltower:{REGION}::control/{CONTROL_NAME} /// /// /// /// /// Example: /// /// /// /// arn:aws:controltower:us-west-2::control/AWS-GR_AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED /// /// /// /// /// To get the ARN for an OU: /// /// /// /// In the AWS Organizations console, you can find the ARN for the OU on the Organizational /// unit details page associated with that OU. /// /// /// /// OU ARN format: /// /// /// /// arn:${Partition}:organizations::${MasterAccountId}:ou/o-${OrganizationId}/ou-${OrganizationalUnitId} /// /// ///

Details and examples /// ///

/// /// To view the open source resource repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower /// /// /// /// /// Recording API Requests /// /// /// /// AWS Control Tower supports AWS CloudTrail, a service that records AWS API calls for /// your AWS account and delivers log files to an Amazon S3 bucket. By using information /// collected by CloudTrail, you can determine which requests the AWS Control Tower service /// received, who made the request and when, and so on. For more about AWS Control Tower /// and its support for CloudTrail, see Logging /// AWS Control Tower Actions with AWS CloudTrail in the AWS Control Tower User Guide. /// To learn more about CloudTrail, including how to turn it on and find your log files, /// see the AWS CloudTrail User Guide. /// ///
public partial interface IAmazonControlTower : IAmazonService, IDisposable { #if AWS_ASYNC_ENUMERABLES_API /// /// Paginators for the service /// IControlTowerPaginatorFactory Paginators { get; } #endif #region DisableControl /// /// This API call turns off a control. It starts an asynchronous operation that deletes /// AWS resources on the specified organizational unit and the accounts it contains. The /// resources will vary according to the control that you specify. /// /// Container for the necessary parameters to execute the DisableControl service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DisableControl service method, as returned by ControlTower. /// /// User does not have sufficient access to perform this action. /// /// /// Updating or deleting a resource can cause an inconsistent state. /// /// /// Unexpected error during processing of request. /// /// /// Request references a resource which does not exist. /// /// /// Request would cause a service quota to be exceeded. The limit is 10 concurrent operations. /// /// /// Request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by an AWS service. /// /// REST API Reference for DisableControl Operation Task DisableControlAsync(DisableControlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region EnableControl /// /// This API call activates a control. It starts an asynchronous operation that creates /// AWS resources on the specified organizational unit and the accounts it contains. The /// resources created will vary according to the control that you specify. /// /// Container for the necessary parameters to execute the EnableControl service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the EnableControl service method, as returned by ControlTower. /// /// User does not have sufficient access to perform this action. /// /// /// Updating or deleting a resource can cause an inconsistent state. /// /// /// Unexpected error during processing of request. /// /// /// Request references a resource which does not exist. /// /// /// Request would cause a service quota to be exceeded. The limit is 10 concurrent operations. /// /// /// Request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by an AWS service. /// /// REST API Reference for EnableControl Operation Task EnableControlAsync(EnableControlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region GetControlOperation /// /// Returns the status of a particular EnableControl or DisableControl /// operation. Displays a message in case of error. Details for an operation are available /// for 90 days. /// /// Container for the necessary parameters to execute the GetControlOperation service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetControlOperation service method, as returned by ControlTower. /// /// User does not have sufficient access to perform this action. /// /// /// Unexpected error during processing of request. /// /// /// Request references a resource which does not exist. /// /// /// Request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by an AWS service. /// /// REST API Reference for GetControlOperation Operation Task GetControlOperationAsync(GetControlOperationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region ListEnabledControls /// /// Lists the controls enabled by AWS Control Tower on the specified organizational unit /// and the accounts it contains. /// /// Container for the necessary parameters to execute the ListEnabledControls service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListEnabledControls service method, as returned by ControlTower. /// /// User does not have sufficient access to perform this action. /// /// /// Unexpected error during processing of request. /// /// /// Request references a resource which does not exist. /// /// /// Request was denied due to request throttling. /// /// /// The input fails to satisfy the constraints specified by an AWS service. /// /// REST API Reference for ListEnabledControls Operation Task ListEnabledControlsAsync(ListEnabledControlsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion } }