AWS CLI needs to be converted to PowerShell

0

Below is the AWS CLI that needs to be converted to PowerShell

$export_AWS = aws configservice select-aggregate-resource-config --expression "SELECT accountId,awsRegion,arn,resourceId WHERE resourceType = 'AWS::EC2::Instance'" --configuration-aggregator-name XXXXXXXXX

1 Antwort
0

You will find the documentation for the PowerShell CmdLets for AWS here: https://docs.aws.amazon.com/powershell/latest/reference/index.html

The appropriate CmdLet counterpart for your cli command is Select-CFGServiceAggregateResourceConfig and the command would look like this:

Select-CFGAggregateResourceConfig -ConfigurationAggregatorName XXXXXXXXX -Expression "SELECT accountId,awsRegion,arn,resourceId WHERE resourceType = 'AWS::EC2::Instance'"
EXPERTE
beantwortet vor 2 Jahren
  • Your kind response is greatly appreciated. Using AWS CLI, I am able to obtain the response, however when I attempt to execute the command that you provided, I receive the following error message. Could you please let me know if there is anything else I need to do

    Select-CFGAggregateResourceConfig : The configuration aggregator does not exist. Check the configuration aggregator name and try again. At line:1 char:1

    • Select-CFGAggregateResourceConfig -ConfigurationAggregatorName ...
    •   + CategoryInfo          : InvalidOperation: (Amazon.PowerShe...rceConfigCmdlet:SelectCFGAggregateResourceConfigCmdlet) [Select-CFGAggregateResourceConfig], InvalidOperationException
        + FullyQualifiedErrorId : Amazon.ConfigService.Model.NoSuchConfigurationAggregatorException,Amazon.PowerShell.Cmdlets.CFG.SelectCFGAggregateResourceConfigCmdlet
      

    I have used the same name.

  • Hi Kalaimani,

    The error message indicates that no Configuration Aggregator with the specified name exists:

    https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/config/model/NoSuchConfigurationAggregatorException.html

    This can have 3 potential causes:

    • You misspelled the name of the configuration aggregator
    • Your AWS Tools for PowerShell are configured to use a region where your Configuration Aggregator is not defined
    • Your AWS Tools for PowerShell are configured to use an AWS account where your Configuration Aggregator is not defined
  • You can validate this via the following statements:
    Get-CFGConfigurationAggregatorList: Lists the defined Configuration Aggregators for your PowerShell environment
    If the list is empty you can use the following commands:
    Get-STSCallerIdentity: Lists the AWS Account ID your tools are configured to use
    Get-DefaultAWSRegion: Lists the default region your tools are configured to use

  • Thanks @Andreas_S, its working after defining the region. In order to select one Tag Value in an EC2 instance, I need one more piece of assistance. I tried the following one, but it did not work

    Select-CFGAggregateResourceConfig -ConfigurationAggregatorName xxxxxxxx -Expression "SELECT Select-CFGAggregateResourceConfig -ConfigurationAggregatorName org-cfg-aggr -Expression "SELECT accountId,awsRegion,arn,TagKey=tag['Key'], TagValue=tag['Value'],resourceId WHERE resourceType = 'AWS::EC2::Instance' AND accountID IN ('xxxxxxx')" -Region West

    Additionally, I would appreciate your assistance in obtaining the backup and backup copy status for the EC2 instance

    Select-CFGAggregateResourceConfig -ConfigurationAggregatorName XXXXXX -Expression "SELECT accountId, recoveryPointArn, details, backupJobId, backupSizeInBytes, backupVaultName, backupVaultArn, bytesTransferred, iAmRoleArn, percentDone, resourceArn, resourceType, startBy, state, statusMessage WHERE resourceType = 'AWS::Backup::Backup' AND accountID IN ('xxxxxxxxx')" -Region West

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen