Class ConfigurationRecorder

java.lang.Object
software.amazon.awssdk.services.config.model.ConfigurationRecorder
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ConfigurationRecorder.Builder,ConfigurationRecorder>

@Generated("software.amazon.awssdk:codegen") public final class ConfigurationRecorder extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ConfigurationRecorder.Builder,ConfigurationRecorder>

Records configuration changes to your specified resource types. For more information about the configuration recorder, see Managing the Configuration Recorder in the Config Developer Guide.

See Also:
  • Method Details

    • name

      public final String name()

      The name of the configuration recorder. Config automatically assigns the name of "default" when creating the configuration recorder.

      You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

      Returns:
      The name of the configuration recorder. Config automatically assigns the name of "default" when creating the configuration recorder.

      You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

    • roleARN

      public final String roleARN()

      Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.

      While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

      Pre-existing Config role

      If you have used an Amazon Web Services service that uses Config, such as Security Hub or Control Tower, and an Config role has already been created, make sure that the IAM role that you use when setting up Config keeps the same minimum permissions as the already created Config role. You must do this so that the other Amazon Web Services service continues to run as expected.

      For example, if Control Tower has an IAM role that allows Config to read Amazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted within the IAM role you use when setting up Config. Otherwise, it may interfere with how Control Tower operates. For more information about IAM roles for Config, see Identity and Access Management for Config in the Config Developer Guide.

      Returns:
      Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.

      While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

      Pre-existing Config role

      If you have used an Amazon Web Services service that uses Config, such as Security Hub or Control Tower, and an Config role has already been created, make sure that the IAM role that you use when setting up Config keeps the same minimum permissions as the already created Config role. You must do this so that the other Amazon Web Services service continues to run as expected.

      For example, if Control Tower has an IAM role that allows Config to read Amazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted within the IAM role you use when setting up Config. Otherwise, it may interfere with how Control Tower operates. For more information about IAM roles for Config, see Identity and Access Management for Config in the Config Developer Guide.

    • recordingGroup

      public final RecordingGroup recordingGroup()

      Specifies which resource types Config records for configuration changes.

      High Number of Config Evaluations

      You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected for Config to record.

      If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these temporary resources. An ephemeral workload is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances, Amazon EMR jobs, and Auto Scaling. If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with Config turned off to avoid increased configuration recording and rule evaluations.

      Returns:
      Specifies which resource types Config records for configuration changes.

      High Number of Config Evaluations

      You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected for Config to record.

      If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these temporary resources. An ephemeral workload is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances, Amazon EMR jobs, and Auto Scaling. If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with Config turned off to avoid increased configuration recording and rule evaluations.

    • recordingMode

      public final RecordingMode recordingMode()

      Specifies the default recording frequency that Config uses to record configuration changes. Config supports Continuous recording and Daily recording.

      • Continuous recording allows you to record configuration changes continuously whenever a change occurs.

      • Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.

      Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

      You can also override the recording frequency for specific resource types.

      Returns:
      Specifies the default recording frequency that Config uses to record configuration changes. Config supports Continuous recording and Daily recording.

      • Continuous recording allows you to record configuration changes continuously whenever a change occurs.

      • Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.

      Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

      You can also override the recording frequency for specific resource types.

    • toBuilder

      public ConfigurationRecorder.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ConfigurationRecorder.Builder,ConfigurationRecorder>
      Returns:
      a builder for type T
    • builder

      public static ConfigurationRecorder.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ConfigurationRecorder.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.