// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

// Package controltower provides the client and types for making API
// requests to AWS Control Tower.
//
// Amazon Web Services Control Tower offers application programming interface
// (API) operations that support programmatic interaction with these types of
// resources:
//
//   - Controls (https://docs.aws.amazon.com/controltower/latest/userguide/controls.html)
//     DisableControl (https://docs.aws.amazon.com/controltower/latest/APIReference/API_DisableControl.html)
//     EnableControl (https://docs.aws.amazon.com/controltower/latest/APIReference/API_EnableControl.html)
//     GetEnabledControl (https://docs.aws.amazon.com/controltower/latest/APIReference/API_GetEnabledControl.html)
//     ListControlOperations (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ListControlOperations.html)
//     ListEnabledControls (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ListEnabledControls.html)
//     UpdateEnabledControl (https://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateEnabledControl.html)
//
//   - Landing zones (https://docs.aws.amazon.com/controltower/latest/userguide/lz-api-launch.html)
//     CreateLandingZone (https://docs.aws.amazon.com/controltower/latest/APIReference/API_CreateLandingZone.html)
//     DeleteLandingZone (https://docs.aws.amazon.com/controltower/latest/APIReference/API_DeleteLandingZone.html)
//     GetLandingZone (https://docs.aws.amazon.com/controltower/latest/APIReference/API_GetLandingZone.html)
//     GetLandingZoneOperation (https://docs.aws.amazon.com/controltower/latest/APIReference/API_GetLandingZoneOperation.html)
//     ListLandingZones (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ListLandingZones.html)
//     ResetLandingZone (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ResetLandingZone.html)
//     UpdateLandingZone (https://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateLandingZone.html)
//
//   - Baselines (https://docs.aws.amazon.com/controltower/latest/userguide/types-of-baselines.html)
//     DisableBaseline (https://docs.aws.amazon.com/controltower/latest/APIReference/API_DisableBaseline.html)
//     EnableBaseline (https://docs.aws.amazon.com/controltower/latest/APIReference/API_EnableBaseline.html)
//     GetBaseline (https://docs.aws.amazon.com/controltower/latest/APIReference/API_GetBaseline.html)
//     GetBaselineOperation (https://docs.aws.amazon.com/controltower/latest/APIReference/API_GetBaselineOperation.html)
//     GetEnabledBaseline (https://docs.aws.amazon.com/controltower/latest/APIReference/API_GetEnabledBaseline.html)
//     ListBaselines (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ListBaselines.html)
//     ListEnabledBaselines (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ListEnabledBaselines.html)
//     ResetEnabledBaseline (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ResetEnabledBaseline.html)
//     UpdateEnabledBaseline (https://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateEnabledBaseline.html)
//
//   - Tagging (https://docs.aws.amazon.com/controltower/latest/controlreference/tagging.html)
//     ListTagsForResource (https://docs.aws.amazon.com/controltower/latest/APIReference/API_ListTagsForResource.html)
//     TagResource (https://docs.aws.amazon.com/controltower/latest/APIReference/API_TagResource.html)
//     UntagResource (https://docs.aws.amazon.com/controltower/latest/APIReference/API_UntagResource.html)
//
// For more information about these types of resources, see the Amazon Web Services
// Control Tower User Guide (https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html).
//
// # About control APIs
//
// These interfaces allow you to apply the Amazon Web Services library of pre-defined
// controls to your organizational units, programmatically. In Amazon Web Services
// Control Tower, the terms "control" and "guardrail" are synonyms.
//
// To call these APIs, you'll need to know:
//
//   - the controlIdentifier for the control--or guardrail--you are targeting.
//
//   - the ARN associated with the target organizational unit (OU), which we
//     call the targetIdentifier.
//
//   - the ARN associated with a resource that you wish to tag or untag.
//
// To get the controlIdentifier for your Amazon Web Services Control Tower control:
//
// The controlIdentifier is an ARN that is specified for each control. You can
// view the controlIdentifier in the console on the Control details page, as
// well as in the documentation.
//
// The controlIdentifier is unique in each Amazon Web Services Region for each
// control. You can find the controlIdentifier for each Region and control in
// the Tables of control metadata (https://docs.aws.amazon.com/controltower/latest/controlreference/control-metadata-tables.html)
// or the Control availability by Region tables (https://docs.aws.amazon.com/controltower/latest/controlreference/control-region-tables.html)
// in the Amazon Web Services Control Tower Controls Reference Guide.
//
// A quick-reference list of control identifers for the Amazon Web Services
// Control Tower legacy Strongly recommended and Elective controls is given
// in Resource identifiers for APIs and controls (https://docs.aws.amazon.com/controltower/latest/controlreference/control-identifiers.html.html)
// in the Amazon Web Services Control Tower Controls Reference Guide (https://docs.aws.amazon.com/controltower/latest/controlreference/control-identifiers.html).
// Remember that Mandatory controls 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 targetIdentifier:
//
// The targetIdentifier is the ARN for an OU.
//
// In the Amazon Web Services 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}
//
//	About landing zone APIs
//
// You can configure and launch an Amazon Web Services Control Tower landing
// zone with APIs. For an introduction and steps, see Getting started with Amazon
// Web Services Control Tower using APIs (https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-apis.html).
//
// For an overview of landing zone API operations, see Amazon Web Services Control
// Tower supports landing zone APIs (https://docs.aws.amazon.com/controltower/latest/userguide/2023-all.html#landing-zone-apis).
// The individual API operations for landing zones are detailed in this document,
// the API reference manual (https://docs.aws.amazon.com/controltower/latest/APIReference/API_Operations.html),
// in the "Actions" section.
//
// # About baseline APIs
//
// You can apply the AWSControlTowerBaseline baseline to an organizational unit
// (OU) as a way to register the OU with Amazon Web Services Control Tower,
// programmatically. For a general overview of this capability, see Amazon Web
// Services Control Tower supports APIs for OU registration and configuration
// with baselines (https://docs.aws.amazon.com/controltower/latest/userguide/2024-all.html#baseline-apis).
//
// You can call the baseline API operations to view the baselines that Amazon
// Web Services Control Tower enables for your landing zone, on your behalf,
// when setting up the landing zone. These baselines are read-only baselines.
//
// The individual API operations for baselines are detailed in this document,
// the API reference manual (https://docs.aws.amazon.com/controltower/latest/APIReference/API_Operations.html),
// in the "Actions" section. For usage examples, see Baseline API input and
// output examples with CLI (https://docs.aws.amazon.com/controltower/latest/userguide/baseline-api-examples.html).
//
// Details and examples
//
//   - Control API input and output examples with CLI (https://docs.aws.amazon.com/controltower/latest/controlreference/control-api-examples-short.html)
//
//   - Baseline API input and output examples with CLI (https://docs.aws.amazon.com/controltower/latest/userguide/baseline-api-examples.html)
//
//   - Enable controls with CloudFormation (https://docs.aws.amazon.com/controltower/latest/controlreference/enable-controls.html)
//
//   - Launch a landing zone with CloudFormation (https://docs.aws.amazon.com/controltower/latest/userguide/lz-apis-cfn-setup.html)
//
//   - Control metadata tables (large page) (https://docs.aws.amazon.com/controltower/latest/controlreference/control-metadata-tables.html)
//
//   - Control availability by Region tables (large page) (https://docs.aws.amazon.com/controltower/latest/controlreference/control-region-tables.html)
//
//   - List of identifiers for legacy controls (https://docs.aws.amazon.com/controltower/latest/controlreference/control-identifiers.html)
//
//   - Controls reference guide (https://docs.aws.amazon.com/controltower/latest/controlreference/controls.html)
//
//   - Controls library groupings (https://docs.aws.amazon.com/controltower/latest/controlreference/controls-reference.html)
//
//   - Creating Amazon Web Services Control Tower resources with Amazon Web
//     Services CloudFormation (https://docs.aws.amazon.com/controltower/latest/userguide/creating-resources-with-cloudformation.html)
//
// To view the open source resource repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower
// (https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower)
//
// # Recording API Requests
//
// Amazon Web Services Control Tower supports Amazon Web Services CloudTrail,
// a service that records Amazon Web Services API calls for your Amazon Web
// Services account and delivers log files to an Amazon S3 bucket. By using
// information collected by CloudTrail, you can determine which requests the
// Amazon Web Services Control Tower service received, who made the request
// and when, and so on. For more about Amazon Web Services Control Tower and
// its support for CloudTrail, see Logging Amazon Web Services Control Tower
// Actions with Amazon Web Services CloudTrail (https://docs.aws.amazon.com/controltower/latest/userguide/logging-using-cloudtrail.html)
// in the Amazon Web Services Control Tower User Guide. To learn more about
// CloudTrail, including how to turn it on and find your log files, see the
// Amazon Web Services CloudTrail User Guide.
//
// See https://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10 for more information on this service.
//
// See controltower package documentation for more information.
// https://docs.aws.amazon.com/sdk-for-go/api/service/controltower/
//
// # Using the Client
//
// To contact AWS Control Tower with the SDK use the New function to create
// a new service client. With that client you can make API requests to the service.
// These clients are safe to use concurrently.
//
// See the SDK's documentation for more information on how to use the SDK.
// https://docs.aws.amazon.com/sdk-for-go/api/
//
// See aws.Config documentation for more information on configuring SDK clients.
// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
//
// See the AWS Control Tower client ControlTower for more
// information on creating client for this service.
// https://docs.aws.amazon.com/sdk-for-go/api/service/controltower/#New
package controltower
