AWS Tools for Windows PowerShell
Command Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Synopsis

Calls the AWS Config PutConfigurationRecorder API operation.

Syntax

Write-CFGConfigurationRecorder
-ConfigurationRecorderName <String>
-RecordingGroup_AllSupported <Boolean>
-RecordingGroup_IncludeGlobalResourceType <Boolean>
-RecordingMode_RecordingFrequency <RecordingFrequency>
-RecordingMode_RecordingModeOverride <RecordingModeOverride[]>
-ExclusionByResourceTypes_ResourceType <String[]>
-RecordingGroup_ResourceType <String[]>
-ConfigurationRecorder_RoleARN <String>
-RecordingStrategy_UseOnly <RecordingStrategyType>
-Select <String>
-PassThru <SwitchParameter>
-Force <SwitchParameter>
-ClientConfig <AmazonConfigServiceConfig>

Description

Creates a new configuration recorder to record configuration changes for specified resource types. You can also use this action to change the roleARN or the recordingGroup of an existing recorder. For more information, see Managing the Configuration Recorder in the Config Developer Guide. You can specify only one configuration recorder for each Amazon Web Services Region for each account. If the configuration recorder does not have the recordingGroup field specified, the default is to record all supported resource types.

Parameters

Amazon.PowerShell.Cmdlets.CFG.AmazonConfigServiceClientCmdlet.ClientConfig
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ConfigurationRecorder_RoleARN <String>
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 roleIf 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.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ConfigurationRecorderName <String>
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.
Required?False
Position?1
Accept pipeline input?True (ByValue, ByPropertyName)
AliasesConfigurationRecorder_Name
-ExclusionByResourceTypes_ResourceType <String[]>
A comma-separated list of resource types to exclude from recording by the configuration recorder.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfigurationRecorder_RecordingGroup_ExclusionByResourceTypes_ResourceTypes
This parameter overrides confirmation prompts to force the cmdlet to continue its operation. This parameter should always be used with caution.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-PassThru <SwitchParameter>
Changes the cmdlet behavior to return the value passed to the ConfigurationRecorderName parameter. The -PassThru parameter is deprecated, use -Select '^ConfigurationRecorderName' instead. This parameter will be removed in a future version.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-RecordingGroup_AllSupported <Boolean>
Specifies whether Config records configuration changes for all supported resource types, excluding the global IAM resource types.If you set this field to true, when Config adds support for a new resource type, Config starts recording resources of that type automatically.If you set this field to true, you cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup, or to exclude in the resourceTypes field of ExclusionByResourceTypes.Region availabilityCheck Resource Coverage by Region Availability to see if a resource type is supported in the Amazon Web Services Region where you set up Config.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfigurationRecorder_RecordingGroup_AllSupported
-RecordingGroup_IncludeGlobalResourceType <Boolean>
This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by Config in Regions where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:
  • Asia Pacific (Hyderabad)
  • Asia Pacific (Melbourne)
  • Canada West (Calgary)
  • Europe (Spain)
  • Europe (Zurich)
  • Israel (Tel Aviv)
  • Middle East (UAE)
Aurora global clusters are recorded in all enabled RegionsThe AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is setfalse. The includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies. If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:
  1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or
  2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).
For more information, see Selecting Which Resources are Recorded in the Config developer guide.
includeGlobalResourceTypes and the exclusion recording strategyThe includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy. This means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes is set to false.The includeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for the AllSupported field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when AllSupported is set to true, make sure to set includeGlobalResourceTypes to true.To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the resourceTypes field of exclusionByResourceTypes.Required and optional fieldsBefore you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.Overriding fieldsIf you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfigurationRecorder_RecordingGroup_IncludeGlobalResourceTypes
-RecordingGroup_ResourceType <String[]>
A comma-separated list that specifies which resource types Config records.For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.Required and optional fieldsOptionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.Region availabilityBefore specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfigurationRecorder_RecordingGroup_ResourceTypes
-RecordingMode_RecordingFrequency <RecordingFrequency>
The default recording frequency that Config uses to record configuration changes.Daily recording is not supported for the following resource types:
  • AWS::Config::ResourceCompliance
  • AWS::Config::ConformancePackCompliance
  • AWS::Config::ConfigurationRecorder
For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfigurationRecorder_RecordingMode_RecordingFrequency
-RecordingMode_RecordingModeOverride <RecordingModeOverride[]>
An array of recordingModeOverride objects for you to specify your overrides for the recording mode. The recordingModeOverride object in the recordingModeOverrides array consists of three fields: a description, the new recordingFrequency, and an array of resourceTypes to override.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfigurationRecorder_RecordingMode_RecordingModeOverrides
-RecordingStrategy_UseOnly <RecordingStrategyType>
The recording strategy for the configuration recorder.
  • If you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new resource type, Config automatically starts recording resources of that type. For a list of supported resource types, see Supported Resource Types in the Config developer guide.
  • If you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types that you specify in the resourceTypes field of RecordingGroup.
  • If you set this option to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.
Required and optional fieldsThe recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.Overriding fieldsIf you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.Global resource types and the exclusion recording strategyBy default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:
  • Asia Pacific (Hyderabad)
  • Asia Pacific (Melbourne)
  • Canada West (Calgary)
  • Europe (Spain)
  • Europe (Zurich)
  • Israel (Tel Aviv)
  • Middle East (UAE)
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfigurationRecorder_RecordingGroup_RecordingStrategy_UseOnly
-Select <String>
Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.ConfigService.Model.PutConfigurationRecorderResponse). Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)

Common Credential and Region Parameters

-AccessKey <String>
The AWS access key for the user account. This can be a temporary access key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAK
-Credential <AWSCredentials>
An AWSCredentials object instance containing access and secret key information, and optionally a token for session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-EndpointUrl <String>
The endpoint to make the call against.Note: This parameter is primarily for internal AWS use and is not required/should not be specified for normal usage. The cmdlets normally determine which endpoint to call based on the region specified to the -Region parameter or set as default in the shell (via Set-DefaultAWSRegion). Only specify this parameter if you must direct the call to a specific custom endpoint.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-NetworkCredential <PSCredential>
Used with SAML-based authentication when ProfileName references a SAML role profile. Contains the network credentials to be supplied during authentication with the configured identity provider's endpoint. This parameter is not required if the user's default network identity can or should be used during authentication.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-ProfileLocation <String>
Used to specify the name and location of the ini-format credential file (shared with the AWS CLI and other AWS SDKs)If this optional parameter is omitted this cmdlet will search the encrypted credential file used by the AWS SDK for .NET and AWS Toolkit for Visual Studio first. If the profile is not found then the cmdlet will search in the ini-format credential file at the default location: (user's home directory)\.aws\credentials.If this parameter is specified then this cmdlet will only search the ini-format credential file at the location given.As the current folder can vary in a shell or during script execution it is advised that you use specify a fully qualified path instead of a relative path.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAWSProfilesLocation, ProfilesLocation
-ProfileName <String>
The user-defined name of an AWS credentials or SAML-based role profile containing credential information. The profile is expected to be found in the secure credential file shared with the AWS SDK for .NET and AWS Toolkit for Visual Studio. You can also specify the name of a profile stored in the .ini-format credential file used with the AWS CLI and other AWS SDKs.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesStoredCredentials, AWSProfileName
-Region <Object>
The system name of an AWS region or an AWSRegion instance. This governs the endpoint that will be used when calling service operations. Note that the AWS resources referenced in a call are usually region-specific.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesRegionToCall
-SecretKey <String>
The AWS secret key for the user account. This can be a temporary secret key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesSK, SecretAccessKey
-SessionToken <String>
The session token if the access and secret keys are temporary session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesST

Outputs

This cmdlet does not generate any output.The service response (type Amazon.ConfigService.Model.PutConfigurationRecorderResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack.

Supported Version

AWS Tools for PowerShell: 2.x.y.z