/* * Copyright 2018-2023 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. */ package com.amazonaws.services.controltower; import javax.annotation.Generated; import com.amazonaws.services.controltower.model.*; /** * Interface for accessing AWS Control Tower asynchronously. Each asynchronous method will return a Java Future object * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive * notification when an asynchronous operation completes. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.controltower.AbstractAWSControlTowerAsync} instead. *
**
* 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: *
*
* the ControlARN
for the control--that is, the guardrail--you are targeting,
*
* and the ARN associated with the target organizational unit (OU). *
*
* 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 *
** * Creating AWS Control Tower resources with AWS CloudFormation *
** 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. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSControlTowerAsync extends AWSControlTower { /** ** 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. *
* * @param disableControlRequest * @return A Java Future containing the result of the DisableControl operation returned by the service. * @sample AWSControlTowerAsync.DisableControl * @see AWS * API Documentation */ java.util.concurrent.Future* 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. *
* * @param disableControlRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DisableControl operation returned by the service. * @sample AWSControlTowerAsyncHandler.DisableControl * @see AWS * API Documentation */ java.util.concurrent.Future* 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. *
* * @param enableControlRequest * @return A Java Future containing the result of the EnableControl operation returned by the service. * @sample AWSControlTowerAsync.EnableControl * @see AWS API * Documentation */ java.util.concurrent.Future* 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. *
* * @param enableControlRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the EnableControl operation returned by the service. * @sample AWSControlTowerAsyncHandler.EnableControl * @see AWS API * Documentation */ java.util.concurrent.Future
* 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.
*
* 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.
*
* Lists the controls enabled by AWS Control Tower on the specified organizational unit and the accounts it * contains. *
* * @param listEnabledControlsRequest * @return A Java Future containing the result of the ListEnabledControls operation returned by the service. * @sample AWSControlTowerAsync.ListEnabledControls * @see AWS API Documentation */ java.util.concurrent.Future* Lists the controls enabled by AWS Control Tower on the specified organizational unit and the accounts it * contains. *
* * @param listEnabledControlsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListEnabledControls operation returned by the service. * @sample AWSControlTowerAsyncHandler.ListEnabledControls * @see AWS API Documentation */ java.util.concurrent.Future