/* * 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.config; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.config.model.*; /** * Interface for accessing Config Service. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.config.AbstractAmazonConfig} instead. *

*

* Config *

* Config provides a way to keep track of the configurations of all the Amazon Web Services resources associated with * your Amazon Web Services account. You can use Config to get the current and historical configurations of each Amazon * Web Services resource and also to get information about the relationship between the resources. An Amazon Web * Services resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an * elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by Config, * see Supported Amazon Web Services resources. *

*

* You can access and manage Config through the Amazon Web Services Management Console, the Amazon Web Services Command * Line Interface (Amazon Web Services CLI), the Config API, or the Amazon Web Services SDKs for Config. This reference * guide contains documentation for the Config API and the Amazon Web Services CLI commands that you can use to manage * Config. The Config API uses the Signature Version 4 protocol for signing requests. For more information about how to * sign a request with this protocol, see Signature Version 4 Signing * Process. For detailed information about Config features and their associated actions or commands, as well as how * to work with Amazon Web Services Management Console, see What Is Config in the Config * Developer Guide. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonConfig { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "config"; /** * Overrides the default endpoint for this client ("config.us-east-1.amazonaws.com/"). Callers can use this method * to control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "config.us-east-1.amazonaws.com/") or a full URL, including the * protocol (ex: "config.us-east-1.amazonaws.com/"). If the protocol is not specified here, the default protocol * from this client's {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available * endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *

* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "config.us-east-1.amazonaws.com/") or a full URL, including the protocol (ex: * "config.us-east-1.amazonaws.com/") of the region specific AWS endpoint this client will communicate with. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link AmazonConfig#setEndpoint(String)}, sets the regional endpoint for this client's service * calls. Callers can use this method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the * {@link ClientConfiguration} supplied at construction. *

* This method is not threadsafe. A region should be configured when the client is created and before any service * requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit * or retrying. * * @param region * The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)} * for accessing a given region. Must not be null and must be a region where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated void setRegion(Region region); /** *

* Returns the current configuration items for resources that are present in your Config aggregator. The operation * also returns a list of resources that are not processed in the current request. If there are no unprocessed * resources, the operation returns an empty unprocessedResourceIdentifiers list. *

* * * * * @param batchGetAggregateResourceConfigRequest * @return Result of the BatchGetAggregateResourceConfig operation returned by the service. * @throws ValidationException * The requested action is not valid.

*

* For PutStoredQuery, you will see this exception if there are missing required fields or if the input * value fails the validation, or if you are trying to create more than 300 queries. *

*

* For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are * missing required fields or if the input value fails the validation. * @throws NoSuchConfigurationAggregatorException * You have specified a configuration aggregator that does not exist. * @sample AmazonConfig.BatchGetAggregateResourceConfig * @see AWS API Documentation */ BatchGetAggregateResourceConfigResult batchGetAggregateResourceConfig(BatchGetAggregateResourceConfigRequest batchGetAggregateResourceConfigRequest); /** *

* Returns the BaseConfigurationItem for one or more requested resources. The operation also returns a * list of resources that are not processed in the current request. If there are no unprocessed resources, the * operation returns an empty unprocessedResourceKeys list. *

* * * * * @param batchGetResourceConfigRequest * @return Result of the BatchGetResourceConfig operation returned by the service. * @throws ValidationException * The requested action is not valid.

*

* For PutStoredQuery, you will see this exception if there are missing required fields or if the input * value fails the validation, or if you are trying to create more than 300 queries. *

*

* For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are * missing required fields or if the input value fails the validation. * @throws NoAvailableConfigurationRecorderException * There are no configuration recorders available to provide the role needed to describe your resources. * Create a configuration recorder. * @sample AmazonConfig.BatchGetResourceConfig * @see AWS * API Documentation */ BatchGetResourceConfigResult batchGetResourceConfig(BatchGetResourceConfigRequest batchGetResourceConfigRequest); /** *

* Deletes the authorization granted to the specified configuration aggregator account in a specified region. *

* * @param deleteAggregationAuthorizationRequest * @return Result of the DeleteAggregationAuthorization operation returned by the service. * @throws InvalidParameterValueException * One or more of the specified parameters are not valid. Verify that your parameters are valid and try * again. * @sample AmazonConfig.DeleteAggregationAuthorization * @see AWS API Documentation */ DeleteAggregationAuthorizationResult deleteAggregationAuthorization(DeleteAggregationAuthorizationRequest deleteAggregationAuthorizationRequest); /** *

* Deletes the specified Config rule and all of its evaluation results. *

*

* Config sets the state of a rule to DELETING until the deletion is complete. You cannot update a rule * while it is in this state. If you make a PutConfigRule or DeleteConfigRule request for * the rule, you will receive a ResourceInUseException. *

*

* You can check the state of a rule by using the DescribeConfigRules request. *

* * @param deleteConfigRuleRequest * @return Result of the DeleteConfigRule operation returned by the service. * @throws NoSuchConfigRuleException * The Config rule in the request is not valid. Verify that the rule is an Config Process Check rule, that * the rule name is correct, and that valid Amazon Resouce Names (ARNs) are used before trying again. * @throws ResourceInUseException * You see this exception in the following cases:

*