All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.config.AmazonConfig Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Config module holds the client classes that are used for communicating with AWS Config Service

There is a newer version: 1.11.9
Show newest version
/*
 * Copyright 2010-2016 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 com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.config.model.*;

/**
 * Interface for accessing Config Service.
 * 

* AWS Config *

* AWS Config provides a way to keep track of the configurations of all the AWS * resources associated with your AWS account. You can use AWS Config to get the * current and historical configurations of each AWS resource and also to get * information about the relationship between the resources. An AWS 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 AWS Config, see Supported AWS Resources. *

*

* You can access and manage AWS Config through the AWS Management Console, the * AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for * AWS Config *

*

* This reference guide contains documentation for the AWS Config API and the * AWS CLI commands that you can use to manage AWS Config. *

*

* The AWS 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 AWS Config features and their associated * actions or commands, as well as how to work with AWS Management Console, see * What Is AWS Config? in the AWS Config Developer Guide. *

*/ 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: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= * 3912 *

* 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. */ 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) */ void setRegion(Region region); /** *

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

*

* AWS 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 * One or more AWS Config rules in the request are invalid. Verify * that the rule names are correct and try again. * @throws ResourceInUseException * The rule is currently being deleted. Wait for a while and try * again. * @sample AmazonConfig.DeleteConfigRule */ DeleteConfigRuleResult deleteConfigRule( DeleteConfigRuleRequest deleteConfigRuleRequest); /** *

* Deletes the configuration recorder. *

*

* After the configuration recorder is deleted, AWS Config will not record * resource configuration changes until you create a new configuration * recorder. *

*

* This action does not delete the configuration information that was * previously recorded. You will be able to access the previously recorded * information by using the GetResourceConfigHistory action, * but you will not be able to access this information in the AWS Config * console until you create a new configuration recorder. *

* * @param deleteConfigurationRecorderRequest * The request object for the * DeleteConfigurationRecorder action. * @return Result of the DeleteConfigurationRecorder operation returned by * the service. * @throws NoSuchConfigurationRecorderException * You have specified a configuration recorder that does not exist. * @sample AmazonConfig.DeleteConfigurationRecorder */ DeleteConfigurationRecorderResult deleteConfigurationRecorder( DeleteConfigurationRecorderRequest deleteConfigurationRecorderRequest); /** *

* Deletes the delivery channel. *

*

* Before you can delete the delivery channel, you must stop the * configuration recorder by using the StopConfigurationRecorder * action. *

* * @param deleteDeliveryChannelRequest * The input for the DeleteDeliveryChannel action. The action * accepts the following data in JSON format. * @return Result of the DeleteDeliveryChannel operation returned by the * service. * @throws NoSuchDeliveryChannelException * You have specified a delivery channel that does not exist. * @throws LastDeliveryChannelDeleteFailedException * You cannot delete the delivery channel you specified because the * configuration recorder is running. * @sample AmazonConfig.DeleteDeliveryChannel */ DeleteDeliveryChannelResult deleteDeliveryChannel( DeleteDeliveryChannelRequest deleteDeliveryChannelRequest); /** *

* Schedules delivery of a configuration snapshot to the Amazon S3 bucket in * the specified delivery channel. After the delivery has started, AWS * Config sends following notifications using an Amazon SNS topic that you * have specified. *

*
    *
  • Notification of starting the delivery.
  • *
  • Notification of delivery completed, if the delivery was successfully * completed.
  • *
  • Notification of delivery failure, if the delivery failed to complete. *
  • *
* * @param deliverConfigSnapshotRequest * The input for the DeliverConfigSnapshot action. * @return Result of the DeliverConfigSnapshot operation returned by the * service. * @throws NoSuchDeliveryChannelException * You have specified a delivery channel that does not exist. * @throws NoAvailableConfigurationRecorderException * There are no configuration recorders available to provide the * role needed to describe your resources. Create a configuration * recorder. * @throws NoRunningConfigurationRecorderException * There is no configuration recorder running. * @sample AmazonConfig.DeliverConfigSnapshot */ DeliverConfigSnapshotResult deliverConfigSnapshot( DeliverConfigSnapshotRequest deliverConfigSnapshotRequest); /** *

* Indicates whether the specified AWS Config rules are compliant. If a rule * is noncompliant, this action returns the number of AWS resources that do * not comply with the rule. *

*

* A rule is compliant if all of the evaluated resources comply with it, and * it is noncompliant if any of these resources do not comply. *

*

* If AWS Config has no current evaluation results for the rule, it returns * INSUFFICIENT_DATA. This result might indicate one of the * following conditions: *

*
    *
  • AWS Config has never invoked an evaluation for the rule. To check * whether it has, use the DescribeConfigRuleEvaluationStatus * action to get the LastSuccessfulInvocationTime and * LastFailedInvocationTime.
  • *
  • The rule's AWS Lambda function is failing to send evaluation results * to AWS Config. Verify that the role that you assigned to your * configuration recorder includes the config:PutEvaluations * permission. If the rule is a customer managed rule, verify that the AWS * Lambda execution role includes the config:PutEvaluations * permission.
  • *
  • The rule's AWS Lambda function has returned * NOT_APPLICABLE for all evaluation results. This can occur if * the resources were deleted or removed from the rule's scope.
  • *
* * @param describeComplianceByConfigRuleRequest * @return Result of the DescribeComplianceByConfigRule operation returned * by the service. * @throws InvalidParameterValueException * One or more of the specified parameters are invalid. Verify that * your parameters are valid and try again. * @throws NoSuchConfigRuleException * One or more AWS Config rules in the request are invalid. Verify * that the rule names are correct and try again. * @sample AmazonConfig.DescribeComplianceByConfigRule */ DescribeComplianceByConfigRuleResult describeComplianceByConfigRule( DescribeComplianceByConfigRuleRequest describeComplianceByConfigRuleRequest); /** * Simplified method form for invoking the DescribeComplianceByConfigRule * operation. * * @see #describeComplianceByConfigRule(DescribeComplianceByConfigRuleRequest) */ DescribeComplianceByConfigRuleResult describeComplianceByConfigRule(); /** *

* Indicates whether the specified AWS resources are compliant. If a * resource is noncompliant, this action returns the number of AWS Config * rules that the resource does not comply with. *

*

* A resource is compliant if it complies with all the AWS Config rules that * evaluate it. It is noncompliant if it does not comply with one or more of * these rules. *

*

* If AWS Config has no current evaluation results for the resource, it * returns INSUFFICIENT_DATA. This result might indicate one of * the following conditions about the rules that evaluate the resource: *

*
    *
  • AWS Config has never invoked an evaluation for the rule. To check * whether it has, use the DescribeConfigRuleEvaluationStatus * action to get the LastSuccessfulInvocationTime and * LastFailedInvocationTime.
  • *
  • The rule's AWS Lambda function is failing to send evaluation results * to AWS Config. Verify that the role that you assigned to your * configuration recorder includes the config:PutEvaluations * permission. If the rule is a customer managed rule, verify that the AWS * Lambda execution role includes the config:PutEvaluations * permission.
  • *
  • The rule's AWS Lambda function has returned * NOT_APPLICABLE for all evaluation results. This can occur if * the resources were deleted or removed from the rule's scope.
  • *
* * @param describeComplianceByResourceRequest * @return Result of the DescribeComplianceByResource operation returned by * the service. * @throws InvalidParameterValueException * One or more of the specified parameters are invalid. Verify that * your parameters are valid and try again. * @throws InvalidNextTokenException * The specified next token is invalid. Specify the * nextToken string that was returned in the previous * response to get the next page of results. * @sample AmazonConfig.DescribeComplianceByResource */ DescribeComplianceByResourceResult describeComplianceByResource( DescribeComplianceByResourceRequest describeComplianceByResourceRequest); /** * Simplified method form for invoking the DescribeComplianceByResource * operation. * * @see #describeComplianceByResource(DescribeComplianceByResourceRequest) */ DescribeComplianceByResourceResult describeComplianceByResource(); /** *

* Returns status information for each of your AWS managed Config rules. The * status includes information such as the last time AWS Config invoked the * rule, the last time AWS Config failed to invoke the rule, and the related * error for the last failure. *

* * @param describeConfigRuleEvaluationStatusRequest * @return Result of the DescribeConfigRuleEvaluationStatus operation * returned by the service. * @throws NoSuchConfigRuleException * One or more AWS Config rules in the request are invalid. Verify * that the rule names are correct and try again. * @sample AmazonConfig.DescribeConfigRuleEvaluationStatus */ DescribeConfigRuleEvaluationStatusResult describeConfigRuleEvaluationStatus( DescribeConfigRuleEvaluationStatusRequest describeConfigRuleEvaluationStatusRequest); /** * Simplified method form for invoking the * DescribeConfigRuleEvaluationStatus operation. * * @see #describeConfigRuleEvaluationStatus(DescribeConfigRuleEvaluationStatusRequest) */ DescribeConfigRuleEvaluationStatusResult describeConfigRuleEvaluationStatus(); /** *

* Returns details about your AWS Config rules. *

* * @param describeConfigRulesRequest * @return Result of the DescribeConfigRules operation returned by the * service. * @throws NoSuchConfigRuleException * One or more AWS Config rules in the request are invalid. Verify * that the rule names are correct and try again. * @sample AmazonConfig.DescribeConfigRules */ DescribeConfigRulesResult describeConfigRules( DescribeConfigRulesRequest describeConfigRulesRequest); /** * Simplified method form for invoking the DescribeConfigRules operation. * * @see #describeConfigRules(DescribeConfigRulesRequest) */ DescribeConfigRulesResult describeConfigRules(); /** *

* Returns the current status of the specified configuration recorder. If a * configuration recorder is not specified, this action returns the status * of all configuration recorder associated with the account. *

* *

* Currently, you can specify only one configuration recorder per account. *

*
* * @param describeConfigurationRecorderStatusRequest * The input for the DescribeConfigurationRecorderStatus * action. * @return Result of the DescribeConfigurationRecorderStatus operation * returned by the service. * @throws NoSuchConfigurationRecorderException * You have specified a configuration recorder that does not exist. * @sample AmazonConfig.DescribeConfigurationRecorderStatus */ DescribeConfigurationRecorderStatusResult describeConfigurationRecorderStatus( DescribeConfigurationRecorderStatusRequest describeConfigurationRecorderStatusRequest); /** * Simplified method form for invoking the * DescribeConfigurationRecorderStatus operation. * * @see #describeConfigurationRecorderStatus(DescribeConfigurationRecorderStatusRequest) */ DescribeConfigurationRecorderStatusResult describeConfigurationRecorderStatus(); /** *

* Returns the name of one or more specified configuration recorders. If the * recorder name is not specified, this action returns the names of all the * configuration recorders associated with the account. *

* *

* Currently, you can specify only one configuration recorder per account. *

*
* * @param describeConfigurationRecordersRequest * The input for the DescribeConfigurationRecorders action. * @return Result of the DescribeConfigurationRecorders operation returned * by the service. * @throws NoSuchConfigurationRecorderException * You have specified a configuration recorder that does not exist. * @sample AmazonConfig.DescribeConfigurationRecorders */ DescribeConfigurationRecordersResult describeConfigurationRecorders( DescribeConfigurationRecordersRequest describeConfigurationRecordersRequest); /** * Simplified method form for invoking the DescribeConfigurationRecorders * operation. * * @see #describeConfigurationRecorders(DescribeConfigurationRecordersRequest) */ DescribeConfigurationRecordersResult describeConfigurationRecorders(); /** *

* Returns the current status of the specified delivery channel. If a * delivery channel is not specified, this action returns the current status * of all delivery channels associated with the account. *

* *

* Currently, you can specify only one delivery channel per account. *

*
* * @param describeDeliveryChannelStatusRequest * The input for the DeliveryChannelStatus action. * @return Result of the DescribeDeliveryChannelStatus operation returned by * the service. * @throws NoSuchDeliveryChannelException * You have specified a delivery channel that does not exist. * @sample AmazonConfig.DescribeDeliveryChannelStatus */ DescribeDeliveryChannelStatusResult describeDeliveryChannelStatus( DescribeDeliveryChannelStatusRequest describeDeliveryChannelStatusRequest); /** * Simplified method form for invoking the DescribeDeliveryChannelStatus * operation. * * @see #describeDeliveryChannelStatus(DescribeDeliveryChannelStatusRequest) */ DescribeDeliveryChannelStatusResult describeDeliveryChannelStatus(); /** *

* Returns details about the specified delivery channel. If a delivery * channel is not specified, this action returns the details of all delivery * channels associated with the account. *

* *

* Currently, you can specify only one delivery channel per account. *

*
* * @param describeDeliveryChannelsRequest * The input for the DescribeDeliveryChannels action. * @return Result of the DescribeDeliveryChannels operation returned by the * service. * @throws NoSuchDeliveryChannelException * You have specified a delivery channel that does not exist. * @sample AmazonConfig.DescribeDeliveryChannels */ DescribeDeliveryChannelsResult describeDeliveryChannels( DescribeDeliveryChannelsRequest describeDeliveryChannelsRequest); /** * Simplified method form for invoking the DescribeDeliveryChannels * operation. * * @see #describeDeliveryChannels(DescribeDeliveryChannelsRequest) */ DescribeDeliveryChannelsResult describeDeliveryChannels(); /** *

* Returns the evaluation results for the specified AWS Config rule. The * results indicate which AWS resources were evaluated by the rule, when * each resource was last evaluated, and whether each resource complies with * the rule. *

* * @param getComplianceDetailsByConfigRuleRequest * @return Result of the GetComplianceDetailsByConfigRule operation returned * by the service. * @throws InvalidParameterValueException * One or more of the specified parameters are invalid. Verify that * your parameters are valid and try again. * @throws InvalidNextTokenException * The specified next token is invalid. Specify the * nextToken string that was returned in the previous * response to get the next page of results. * @throws NoSuchConfigRuleException * One or more AWS Config rules in the request are invalid. Verify * that the rule names are correct and try again. * @sample AmazonConfig.GetComplianceDetailsByConfigRule */ GetComplianceDetailsByConfigRuleResult getComplianceDetailsByConfigRule( GetComplianceDetailsByConfigRuleRequest getComplianceDetailsByConfigRuleRequest); /** *

* Returns the evaluation results for the specified AWS resource. The * results indicate which AWS Config rules were used to evaluate the * resource, when each rule was last used, and whether the resource complies * with each rule. *

* * @param getComplianceDetailsByResourceRequest * @return Result of the GetComplianceDetailsByResource operation returned * by the service. * @throws InvalidParameterValueException * One or more of the specified parameters are invalid. Verify that * your parameters are valid and try again. * @sample AmazonConfig.GetComplianceDetailsByResource */ GetComplianceDetailsByResourceResult getComplianceDetailsByResource( GetComplianceDetailsByResourceRequest getComplianceDetailsByResourceRequest); /** *

* Returns the number of AWS Config rules that are compliant and * noncompliant, up to a maximum of 25 for each. *

* * @param getComplianceSummaryByConfigRuleRequest * @return Result of the GetComplianceSummaryByConfigRule operation returned * by the service. * @sample AmazonConfig.GetComplianceSummaryByConfigRule */ GetComplianceSummaryByConfigRuleResult getComplianceSummaryByConfigRule( GetComplianceSummaryByConfigRuleRequest getComplianceSummaryByConfigRuleRequest); /** * Simplified method form for invoking the GetComplianceSummaryByConfigRule * operation. * * @see #getComplianceSummaryByConfigRule(GetComplianceSummaryByConfigRuleRequest) */ GetComplianceSummaryByConfigRuleResult getComplianceSummaryByConfigRule(); /** *

* Returns the number of resources that are compliant and the number that * are noncompliant. You can specify one or more resource types to get these * numbers for each resource type. The maximum number returned is 100. *

* * @param getComplianceSummaryByResourceTypeRequest * @return Result of the GetComplianceSummaryByResourceType operation * returned by the service. * @throws InvalidParameterValueException * One or more of the specified parameters are invalid. Verify that * your parameters are valid and try again. * @sample AmazonConfig.GetComplianceSummaryByResourceType */ GetComplianceSummaryByResourceTypeResult getComplianceSummaryByResourceType( GetComplianceSummaryByResourceTypeRequest getComplianceSummaryByResourceTypeRequest); /** * Simplified method form for invoking the * GetComplianceSummaryByResourceType operation. * * @see #getComplianceSummaryByResourceType(GetComplianceSummaryByResourceTypeRequest) */ GetComplianceSummaryByResourceTypeResult getComplianceSummaryByResourceType(); /** *

* Returns a list of configuration items for the specified resource. The * list contains details about each state of the resource during the * specified time interval. *

*

* The response is paginated, and by default, AWS Config returns a limit of * 10 configuration items per page. You can customize this number with the * limit parameter. The response includes a * nextToken string, and to get the next page of results, run * the request again and enter this string for the nextToken * parameter. *

* *

* Each call to the API is limited to span a duration of seven days. It is * likely that the number of records returned is smaller than the specified * limit. In such cases, you can make another call, using the * nextToken. *

*
* * @param getResourceConfigHistoryRequest * The input for the GetResourceConfigHistory action. * @return Result of the GetResourceConfigHistory operation returned by the * service. * @throws ValidationException * The requested action is not valid. * @throws InvalidTimeRangeException * The specified time range is not valid. The earlier time is not * chronologically before the later time. * @throws InvalidLimitException * The specified limit is outside the allowable range. * @throws InvalidNextTokenException * The specified next token is invalid. Specify the * nextToken string that was returned in the previous * response to get the next page of results. * @throws NoAvailableConfigurationRecorderException * There are no configuration recorders available to provide the * role needed to describe your resources. Create a configuration * recorder. * @throws ResourceNotDiscoveredException * You have specified a resource that is either unknown or has not * been discovered. * @sample AmazonConfig.GetResourceConfigHistory */ GetResourceConfigHistoryResult getResourceConfigHistory( GetResourceConfigHistoryRequest getResourceConfigHistoryRequest); /** *

* Accepts a resource type and returns a list of resource identifiers for * the resources of that type. A resource identifier includes the resource * type, ID, and (if available) the custom resource name. The results * consist of resources that AWS Config has discovered, including those that * AWS Config is not currently recording. You can narrow the results to * include only resources that have specific resource IDs or a resource * name. *

* *

* You can specify either resource IDs or a resource name but not both in * the same request. *

*
*

* The response is paginated, and by default AWS Config lists 100 resource * identifiers on each page. You can customize this number with the * limit parameter. The response includes a * nextToken string, and to get the next page of results, run * the request again and enter this string for the nextToken * parameter. *

* * @param listDiscoveredResourcesRequest * @return Result of the ListDiscoveredResources operation returned by the * service. * @throws ValidationException * The requested action is not valid. * @throws InvalidLimitException * The specified limit is outside the allowable range. * @throws InvalidNextTokenException * The specified next token is invalid. Specify the * nextToken string that was returned in the previous * response to get the next page of results. * @throws NoAvailableConfigurationRecorderException * There are no configuration recorders available to provide the * role needed to describe your resources. Create a configuration * recorder. * @sample AmazonConfig.ListDiscoveredResources */ ListDiscoveredResourcesResult listDiscoveredResources( ListDiscoveredResourcesRequest listDiscoveredResourcesRequest); /** *

* Adds or updates an AWS Config rule for evaluating whether your AWS * resources comply with your desired configurations. *

*

* You can use this action for customer managed Config rules and AWS managed * Config rules. A customer managed Config rule is a custom rule that you * develop and maintain. An AWS managed Config rule is a customizable, * predefined rule that is provided by AWS Config. *

*

* If you are adding a new customer managed Config rule, you must first * create the AWS Lambda function that the rule invokes to evaluate your * resources. When you use the PutConfigRule action to add the * rule to AWS Config, you must specify the Amazon Resource Name (ARN) that * AWS Lambda assigns to the function. Specify the ARN for the * SourceIdentifier key. This key is part of the * Source object, which is part of the ConfigRule * object. *

*

* If you are adding a new AWS managed Config rule, specify the rule's * identifier for the SourceIdentifier key. To reference AWS * managed Config rule identifiers, see Using AWS Managed Config Rules. *

*

* For any new rule that you add, specify the ConfigRuleName in * the ConfigRule object. Do not specify the * ConfigRuleArn or the ConfigRuleId. These values * are generated by AWS Config for new rules. *

*

* If you are updating a rule that you have added previously, specify the * rule's ConfigRuleName, ConfigRuleId, or * ConfigRuleArn in the ConfigRule data type that * you use in this request. *

*

* The maximum number of rules that AWS Config supports is 25. *

*

* For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS * Config Developer Guide. *

*

* * @param putConfigRuleRequest * @return Result of the PutConfigRule operation returned by the service. * @throws InvalidParameterValueException * One or more of the specified parameters are invalid. Verify that * your parameters are valid and try again. * @throws MaxNumberOfConfigRulesExceededException * Failed to add the AWS Config rule because the account already * contains the maximum number of 25 rules. Consider deleting any * deactivated rules before adding new rules. * @throws ResourceInUseException * The rule is currently being deleted. Wait for a while and try * again. * @throws InsufficientPermissionsException * Indicates one of the following errors: *

*
    *
  • The rule cannot be created because the IAM role assigned to * AWS Config lacks permissions to perform the config:Put* action.
  • *
  • The AWS Lambda function cannot be invoked. Check the function * ARN, and check the function's permissions.
  • * @throws NoAvailableConfigurationRecorderException * There are no configuration recorders available to provide the * role needed to describe your resources. Create a configuration * recorder. * @sample AmazonConfig.PutConfigRule */ PutConfigRuleResult putConfigRule(PutConfigRuleRequest putConfigRuleRequest); /** *

    * Creates a new configuration recorder to record the selected resource * configurations. *

    *

    * You can use this action to change the role roleARN and/or * the recordingGroup of an existing recorder. To change the * role, call the action on the existing configuration recorder and specify * a role. *

    * *

    * Currently, you can specify only one configuration recorder per account. *

    *

    * If ConfigurationRecorder does not have the * recordingGroup parameter specified, the default is to record all * supported resource types. *

    *
    * * @param putConfigurationRecorderRequest * The input for the PutConfigurationRecorder action. * @return Result of the PutConfigurationRecorder operation returned by the * service. * @throws MaxNumberOfConfigurationRecordersExceededException * You have reached the limit on the number of recorders you can * create. * @throws InvalidConfigurationRecorderNameException * You have provided a configuration recorder name that is not * valid. * @throws InvalidRoleException * You have provided a null or empty role ARN. * @throws InvalidRecordingGroupException * AWS Config throws an exception if the recording group does not * contain a valid list of resource types. Invalid values could also * be incorrectly formatted. * @sample AmazonConfig.PutConfigurationRecorder */ PutConfigurationRecorderResult putConfigurationRecorder( PutConfigurationRecorderRequest putConfigurationRecorderRequest); /** *

    * Creates a delivery channel object to deliver configuration information to * an Amazon S3 bucket and Amazon SNS topic. *

    *

    * Before you can create a delivery channel, you must create a configuration * recorder. *

    *

    * You can use this action to change the Amazon S3 bucket or an Amazon SNS * topic of the existing delivery channel. To change the Amazon S3 bucket or * an Amazon SNS topic, call this action and specify the changed values for * the S3 bucket and the SNS topic. If you specify a different value for * either the S3 bucket or the SNS topic, this action will keep the existing * value for the parameter that is not changed. *

    * *

    * You can have only one delivery channel per AWS account. *

    *
    * * @param putDeliveryChannelRequest * The input for the PutDeliveryChannel action. * @return Result of the PutDeliveryChannel operation returned by the * service. * @throws MaxNumberOfDeliveryChannelsExceededException * You have reached the limit on the number of delivery channels you * can create. * @throws NoAvailableConfigurationRecorderException * There are no configuration recorders available to provide the * role needed to describe your resources. Create a configuration * recorder. * @throws InvalidDeliveryChannelNameException * The specified delivery channel name is not valid. * @throws NoSuchBucketException * The specified Amazon S3 bucket does not exist. * @throws InvalidS3KeyPrefixException * The specified Amazon S3 key prefix is not valid. * @throws InvalidSNSTopicARNException * The specified Amazon SNS topic does not exist. * @throws InsufficientDeliveryPolicyException * Your Amazon S3 bucket policy does not permit AWS Config to write * to it. * @sample AmazonConfig.PutDeliveryChannel */ PutDeliveryChannelResult putDeliveryChannel( PutDeliveryChannelRequest putDeliveryChannelRequest); /** *

    * Used by an AWS Lambda function to deliver evaluation results to AWS * Config. This action is required in every AWS Lambda function that is * invoked by an AWS Config rule. *

    * * @param putEvaluationsRequest * @return Result of the PutEvaluations operation returned by the service. * @throws InvalidParameterValueException * One or more of the specified parameters are invalid. Verify that * your parameters are valid and try again. * @throws InvalidResultTokenException * The result token is invalid. * @throws NoSuchConfigRuleException * One or more AWS Config rules in the request are invalid. Verify * that the rule names are correct and try again. * @sample AmazonConfig.PutEvaluations */ PutEvaluationsResult putEvaluations( PutEvaluationsRequest putEvaluationsRequest); /** *

    * Starts recording configurations of the AWS resources you have selected to * record in your AWS account. *

    *

    * You must have created at least one delivery channel to successfully start * the configuration recorder. *

    * * @param startConfigurationRecorderRequest * The input for the StartConfigurationRecorder action. * @return Result of the StartConfigurationRecorder operation returned by * the service. * @throws NoSuchConfigurationRecorderException * You have specified a configuration recorder that does not exist. * @throws NoAvailableDeliveryChannelException * There is no delivery channel available to record configurations. * @sample AmazonConfig.StartConfigurationRecorder */ StartConfigurationRecorderResult startConfigurationRecorder( StartConfigurationRecorderRequest startConfigurationRecorderRequest); /** *

    * Stops recording configurations of the AWS resources you have selected to * record in your AWS account. *

    * * @param stopConfigurationRecorderRequest * The input for the StopConfigurationRecorder action. * @return Result of the StopConfigurationRecorder operation returned by the * service. * @throws NoSuchConfigurationRecorderException * You have specified a configuration recorder that does not exist. * @sample AmazonConfig.StopConfigurationRecorder */ StopConfigurationRecorderResult stopConfigurationRecorder( StopConfigurationRecorderRequest stopConfigurationRecorderRequest); /** * Shuts down this client object, releasing any resources that might be held * open. This is an optional method, and callers are not expected to call * it, but can if they want to explicitly release any open resources. Once a * client has been shutdown, it should not be used to make any more * requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, * typically used for debugging issues where a service isn't acting as * expected. This data isn't considered part of the result data returned by * an operation, so it's available through this separate, diagnostic * interface. *

    * Response metadata is only cached for a limited period of time, so if you * need to access this extra diagnostic information for an executed request, * you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none * is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy