diff --git a/.doc_gen/metadata/ec2_Update-EC2SecurityGroupRuleIngressDescription_metadata.yaml b/.doc_gen/metadata/ec2_Update-EC2SecurityGroupRuleIngressDescription_metadata.yaml new file mode 100644 index 0000000000..a532722bbc --- /dev/null +++ b/.doc_gen/metadata/ec2_Update-EC2SecurityGroupRuleIngressDescription_metadata.yaml @@ -0,0 +1,25 @@ +--- +ec2_UpdateSecurityGroupRuleDescriptionsIngress: + title: Use Update-EC2SecurityGroupRuleIngressDescription + title_abbrev: Update-EC2SecurityGroupRuleIngressDescription + synopsis: use Update-EC2SecurityGroupRuleIngressDescription + languages: + PowerShell: + versions: + - sdk_version: 4 + sdk_action: Update-EC2SecurityGroupRuleIngressDescription + excerpts: + - snippet_files: [] + description: 'Example 1: Updates the description of an existing ingress (inbound) security group rule.' + - snippet_files: + - .doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.1.1.ps1 + description: + - snippet_files: [] + description: 'Example 2: Removes the description of an existing ingress (inbound) security group rule (by omitting the parameter in the request).' + - snippet_files: + - .doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.2.1.ps1 + description: + services: + ec2: + UpdateSecurityGroupRuleDescriptionsIngress: + diff --git a/.doc_gen/snippet_files/cloudformation_Measure-CFNTemplateCost.1.1.ps1 b/.doc_gen/snippet_files/cloudformation_Measure-CFNTemplateCost.1.1.ps1 index 785dc2e958..eaa0236319 100644 --- a/.doc_gen/snippet_files/cloudformation_Measure-CFNTemplateCost.1.1.ps1 +++ b/.doc_gen/snippet_files/cloudformation_Measure-CFNTemplateCost.1.1.ps1 @@ -1,3 +1,3 @@ -Measure-CFNTemplateCost -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` +Measure-CFNTemplateCost -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Region us-west-1 ` -Parameter @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" } \ No newline at end of file diff --git a/.doc_gen/snippet_files/cloudformation_New-CFNStack.3.1.ps1 b/.doc_gen/snippet_files/cloudformation_New-CFNStack.3.1.ps1 index 06f0f3090e..9070e2d22a 100644 --- a/.doc_gen/snippet_files/cloudformation_New-CFNStack.3.1.ps1 +++ b/.doc_gen/snippet_files/cloudformation_New-CFNStack.3.1.ps1 @@ -1,3 +1,3 @@ New-CFNStack -StackName "myStack" ` - -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` + -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } \ No newline at end of file diff --git a/.doc_gen/snippet_files/cloudformation_New-CFNStack.4.1.ps1 b/.doc_gen/snippet_files/cloudformation_New-CFNStack.4.1.ps1 index 2e0b9eea75..100c13bffc 100644 --- a/.doc_gen/snippet_files/cloudformation_New-CFNStack.4.1.ps1 +++ b/.doc_gen/snippet_files/cloudformation_New-CFNStack.4.1.ps1 @@ -1,4 +1,4 @@ New-CFNStack -StackName "myStack" ` - -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` + -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" ) \ No newline at end of file diff --git a/.doc_gen/snippet_files/cloudformation_Test-CFNTemplate.2.1.ps1 b/.doc_gen/snippet_files/cloudformation_Test-CFNTemplate.2.1.ps1 index 181999c563..9aff291054 100644 --- a/.doc_gen/snippet_files/cloudformation_Test-CFNTemplate.2.1.ps1 +++ b/.doc_gen/snippet_files/cloudformation_Test-CFNTemplate.2.1.ps1 @@ -1 +1 @@ -Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template \ No newline at end of file +Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template \ No newline at end of file diff --git a/.doc_gen/snippet_files/cloudformation_Update-CFNStack.4.1.ps1 b/.doc_gen/snippet_files/cloudformation_Update-CFNStack.4.1.ps1 index 121f928a52..c5c79e6c87 100644 --- a/.doc_gen/snippet_files/cloudformation_Update-CFNStack.4.1.ps1 +++ b/.doc_gen/snippet_files/cloudformation_Update-CFNStack.4.1.ps1 @@ -1,3 +1,3 @@ Update-CFNStack -StackName "myStack" ` - -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` + -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) \ No newline at end of file diff --git a/.doc_gen/snippet_files/cloudformation_Update-CFNStack.5.1.ps1 b/.doc_gen/snippet_files/cloudformation_Update-CFNStack.5.1.ps1 index db76faa29d..aae5c2f96c 100644 --- a/.doc_gen/snippet_files/cloudformation_Update-CFNStack.5.1.ps1 +++ b/.doc_gen/snippet_files/cloudformation_Update-CFNStack.5.1.ps1 @@ -1,4 +1,4 @@ Update-CFNStack -StackName "myStack" ` - -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` + -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM" \ No newline at end of file diff --git a/.doc_gen/snippet_files/cloudfront_New-CFDistribution.1.1.ps1 b/.doc_gen/snippet_files/cloudfront_New-CFDistribution.1.1.ps1 index 20853275e0..7cceeda8cf 100644 --- a/.doc_gen/snippet_files/cloudfront_New-CFDistribution.1.1.ps1 +++ b/.doc_gen/snippet_files/cloudfront_New-CFDistribution.1.1.ps1 @@ -1,5 +1,5 @@ $origin = New-Object Amazon.CloudFront.Model.Origin -$origin.DomainName = "ps-cmdlet-sample.s3.amazonaws.com" +$origin.DomainName = "amzn-s3-demo-bucket.s3.amazonaws.com" $origin.Id = "UniqueOrigin1" $origin.S3OriginConfig = New-Object Amazon.CloudFront.Model.S3OriginConfig $origin.S3OriginConfig.OriginAccessIdentity = "" @@ -10,7 +10,7 @@ New-CFDistribution ` -Origins_Quantity 1 ` -Logging_Enabled $true ` -Logging_IncludeCookie $true ` - -Logging_Bucket ps-cmdlet-sample-logging.s3.amazonaws.com ` + -Logging_Bucket amzn-s3-demo-logging-bucket.s3.amazonaws.com ` -Logging_Prefix "help/" ` -DistributionConfig_CallerReference Client1 ` -DistributionConfig_DefaultRootObject index.html ` diff --git a/.doc_gen/snippet_files/cloudtrail_New-CTTrail.1.1.ps1 b/.doc_gen/snippet_files/cloudtrail_New-CTTrail.1.1.ps1 index 2aaf89b1da..0e3060e04c 100644 --- a/.doc_gen/snippet_files/cloudtrail_New-CTTrail.1.1.ps1 +++ b/.doc_gen/snippet_files/cloudtrail_New-CTTrail.1.1.ps1 @@ -1 +1 @@ -New-CTTrail -Name="awscloudtrail-example" -S3BucketName="mycloudtrailbucket" \ No newline at end of file +New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket" \ No newline at end of file diff --git a/.doc_gen/snippet_files/cloudtrail_New-CTTrail.2.1.ps1 b/.doc_gen/snippet_files/cloudtrail_New-CTTrail.2.1.ps1 index bc08f5fb2b..36e015480a 100644 --- a/.doc_gen/snippet_files/cloudtrail_New-CTTrail.2.1.ps1 +++ b/.doc_gen/snippet_files/cloudtrail_New-CTTrail.2.1.ps1 @@ -1,6 +1,6 @@ $params = @{ Name="awscloudtrail-example" - S3BucketName="mycloudtrailbucket" + S3BucketName="amzn-s3-demo-bucket" S3KeyPrefix="mylogs" SnsTopicName="mlog-deliverytopic" } diff --git a/.doc_gen/snippet_files/cloudwatch_Write-CWDashboard.1.1.ps1 b/.doc_gen/snippet_files/cloudwatch_Write-CWDashboard.1.1.ps1 index c4a0db8391..44b8e0b59d 100644 --- a/.doc_gen/snippet_files/cloudwatch_Write-CWDashboard.1.1.ps1 +++ b/.doc_gen/snippet_files/cloudwatch_Write-CWDashboard.1.1.ps1 @@ -34,13 +34,13 @@ $dashBody = @" "AWS/S3", "BucketSizeBytes", "BucketName", - "MyBucketName" + "amzn-s3-demo-bucket" ] ], "period":86400, "stat":"Maximum", "region":"us-east-1", - "title":"MyBucketName bytes" + "title":"amzn-s3-demo-bucket bytes" } } ] diff --git a/.doc_gen/snippet_files/codedeploy_Get-CDApplicationRevision.1.1.ps1 b/.doc_gen/snippet_files/codedeploy_Get-CDApplicationRevision.1.1.ps1 index 9347dea897..1e8a60c171 100644 --- a/.doc_gen/snippet_files/codedeploy_Get-CDApplicationRevision.1.1.ps1 +++ b/.doc_gen/snippet_files/codedeploy_Get-CDApplicationRevision.1.1.ps1 @@ -1,2 +1,2 @@ -$revision = Get-CDApplicationRevision -ApplicationName CodeDeployDemoApplication -S3Location_Bucket MyBucket -Revision_RevisionType S3 -S3Location_Key 5xd27EX.zip -S3Location_BundleType zip -S3Location_ETag 4565c1ac97187f190c1a90265EXAMPLE +$revision = Get-CDApplicationRevision -ApplicationName CodeDeployDemoApplication -S3Location_Bucket amzn-s3-demo-bucket -Revision_RevisionType S3 -S3Location_Key 5xd27EX.zip -S3Location_BundleType zip -S3Location_ETag 4565c1ac97187f190c1a90265EXAMPLE Write-Output ("Description = " + $revision.RevisionInfo.Description + ", RegisterTime = " + $revision.RevisionInfo.RegisterTime) \ No newline at end of file diff --git a/.doc_gen/snippet_files/codedeploy_New-CDDeployment.1.1.ps1 b/.doc_gen/snippet_files/codedeploy_New-CDDeployment.1.1.ps1 index 5a7a84923a..c68b877116 100644 --- a/.doc_gen/snippet_files/codedeploy_New-CDDeployment.1.1.ps1 +++ b/.doc_gen/snippet_files/codedeploy_New-CDDeployment.1.1.ps1 @@ -1 +1 @@ -New-CDDeployment -ApplicationName MyNewApplication -S3Location_Bucket MyBucket -S3Location_BundleType zip -DeploymentConfigName CodeDeployDefault.OneAtATime -DeploymentGroupName MyNewDeploymentGroup -IgnoreApplicationStopFailures $True -S3Location_Key aws-codedeploy_linux-master.zip -RevisionType S3 \ No newline at end of file +New-CDDeployment -ApplicationName MyNewApplication -S3Location_Bucket amzn-s3-demo-bucket -S3Location_BundleType zip -DeploymentConfigName CodeDeployDefault.OneAtATime -DeploymentGroupName MyNewDeploymentGroup -IgnoreApplicationStopFailures $True -S3Location_Key aws-codedeploy_linux-master.zip -RevisionType S3 \ No newline at end of file diff --git a/.doc_gen/snippet_files/codedeploy_New-CDDeployment.2.1.ps1 b/.doc_gen/snippet_files/codedeploy_New-CDDeployment.2.1.ps1 index 865528c75a..711028edaf 100644 --- a/.doc_gen/snippet_files/codedeploy_New-CDDeployment.2.1.ps1 +++ b/.doc_gen/snippet_files/codedeploy_New-CDDeployment.2.1.ps1 @@ -1 +1 @@ -New-CDDeployment -ApplicationName MyNewApplication -S3Location_Bucket MyBucket -S3Location_BundleType zip -DeploymentConfigName CodeDeployDefault.OneAtATime -DeploymentGroupName MyNewDeploymentGroup -IgnoreApplicationStopFailures $True -S3Location_Key aws-codedeploy_linux-master.zip -RevisionType S3 -Ec2TagSetList @(@{Key="key1";Type="KEY_ONLY"},@{Key="Key2";Type="KEY_AND_VALUE";Value="Value2"}),@(@{Key="Key3";Type="VALUE_ONLY";Value="Value3"}) \ No newline at end of file +New-CDDeployment -ApplicationName MyNewApplication -S3Location_Bucket amzn-s3-demo-bucket -S3Location_BundleType zip -DeploymentConfigName CodeDeployDefault.OneAtATime -DeploymentGroupName MyNewDeploymentGroup -IgnoreApplicationStopFailures $True -S3Location_Key aws-codedeploy_linux-master.zip -RevisionType S3 -Ec2TagSetList @(@{Key="key1";Type="KEY_ONLY"},@{Key="Key2";Type="KEY_AND_VALUE";Value="Value2"}),@(@{Key="Key3";Type="VALUE_ONLY";Value="Value3"}) \ No newline at end of file diff --git a/.doc_gen/snippet_files/codedeploy_Register-CDApplicationRevision.1.1.ps1 b/.doc_gen/snippet_files/codedeploy_Register-CDApplicationRevision.1.1.ps1 index d87fd76d0b..2f835b3199 100644 --- a/.doc_gen/snippet_files/codedeploy_Register-CDApplicationRevision.1.1.ps1 +++ b/.doc_gen/snippet_files/codedeploy_Register-CDApplicationRevision.1.1.ps1 @@ -1 +1 @@ -Register-CDApplicationRevision -ApplicationName MyNewApplication -S3Location_Bucket MyBucket -S3Location_BundleType zip -S3Location_Key aws-codedeploy_linux-master.zip -Revision_RevisionType S3 \ No newline at end of file +Register-CDApplicationRevision -ApplicationName MyNewApplication -S3Location_Bucket amzn-s3-demo-bucket -S3Location_BundleType zip -S3Location_Key aws-codedeploy_linux-master.zip -Revision_RevisionType S3 \ No newline at end of file diff --git a/.doc_gen/snippet_files/codepipeline_New-CPPipeline.1.1.ps1 b/.doc_gen/snippet_files/codepipeline_New-CPPipeline.1.1.ps1 index b6825ab49b..47e5c96a61 100644 --- a/.doc_gen/snippet_files/codepipeline_New-CPPipeline.1.1.ps1 +++ b/.doc_gen/snippet_files/codepipeline_New-CPPipeline.1.1.ps1 @@ -7,7 +7,7 @@ $sourceStageActionOutputArtifact = New-Object Amazon.CodePipeline.Model.OutputAr $sourceStageActionOutputArtifact.Name = "MyApp" $sourceStageAction.ActionTypeId = @{"Category" = "Source"; "Owner" = "AWS"; "Provider" = "S3"; "Version" = 1} -$sourceStageAction.Configuration.Add("S3Bucket", "MyBucketName") +$sourceStageAction.Configuration.Add("S3Bucket", "amzn-s3-demo-bucket") $sourceStageAction.Configuration.Add("S3ObjectKey", "my-object-key-name.zip") $sourceStageAction.OutputArtifacts.Add($sourceStageActionOutputArtifact) $sourceStageAction.Name = "Source" @@ -30,7 +30,7 @@ $deployStage.Name = "Beta" $sourceStage.Actions.Add($sourceStageAction) $deployStage.Actions.Add($deployStageAction) -$pipeline.ArtifactStore = @{"Location" = "MyBucketName"; "Type" = "S3"} +$pipeline.ArtifactStore = @{"Location" = "amzn-s3-demo-bucket"; "Type" = "S3"} $pipeline.Name = "CodePipelineDemo" $pipeline.RoleArn = "arn:aws:iam::80398EXAMPLE:role/CodePipelineServiceRole" $pipeline.Stages.Add($sourceStage) diff --git a/.doc_gen/snippet_files/codepipeline_Update-CPPipeline.1.1.ps1 b/.doc_gen/snippet_files/codepipeline_Update-CPPipeline.1.1.ps1 index 6ec7c36958..e41083500e 100644 --- a/.doc_gen/snippet_files/codepipeline_Update-CPPipeline.1.1.ps1 +++ b/.doc_gen/snippet_files/codepipeline_Update-CPPipeline.1.1.ps1 @@ -7,7 +7,7 @@ $sourceStageActionOutputArtifact = New-Object Amazon.CodePipeline.Model.OutputAr $sourceStageActionOutputArtifact.Name = "MyApp" $sourceStageAction.ActionTypeId = @{"Category" = "Source"; "Owner" = "AWS"; "Provider" = "S3"; "Version" = 1} -$sourceStageAction.Configuration.Add("S3Bucket", "MyBucketName") +$sourceStageAction.Configuration.Add("S3Bucket", "amzn-s3-demo-bucket") $sourceStageAction.Configuration.Add("S3ObjectKey", "my-object-key-name.zip") $sourceStageAction.OutputArtifacts.Add($sourceStageActionOutputArtifact) $sourceStageAction.Name = "Source" @@ -30,7 +30,7 @@ $deployStage.Name = "MyTestDeployment" $sourceStage.Actions.Add($sourceStageAction) $deployStage.Actions.Add($deployStageAction) -$pipeline.ArtifactStore = @{"Location" = "MyBucketName"; "Type" = "S3"} +$pipeline.ArtifactStore = @{"Location" = "amzn-s3-demo-bucket"; "Type" = "S3"} $pipeline.Name = "CodePipelineDemo" $pipeline.RoleArn = "arn:aws:iam::80398EXAMPLE:role/CodePipelineServiceRole" $pipeline.Stages.Add($sourceStage) diff --git a/.doc_gen/snippet_files/config-service_Write-CFGConformancePack.1.1.ps1 b/.doc_gen/snippet_files/config-service_Write-CFGConformancePack.1.1.ps1 index 065c78e7fe..02fc4a133d 100644 --- a/.doc_gen/snippet_files/config-service_Write-CFGConformancePack.1.1.ps1 +++ b/.doc_gen/snippet_files/config-service_Write-CFGConformancePack.1.1.ps1 @@ -1 +1 @@ -Write-CFGConformancePack -ConformancePackName dono -DeliveryS3Bucket kt-ps-examples -TemplateBody (Get-Content C:\windows\temp\template.yaml -Raw) \ No newline at end of file +Write-CFGConformancePack -ConformancePackName dono -DeliveryS3Bucket amzn-s3-demo-bucket -TemplateBody (Get-Content C:\windows\temp\template.yaml -Raw) \ No newline at end of file diff --git a/.doc_gen/snippet_files/config-service_Write-CFGDeliveryChannel.1.1.ps1 b/.doc_gen/snippet_files/config-service_Write-CFGDeliveryChannel.1.1.ps1 index 9f82d570fa..b8191ddd6d 100644 --- a/.doc_gen/snippet_files/config-service_Write-CFGDeliveryChannel.1.1.ps1 +++ b/.doc_gen/snippet_files/config-service_Write-CFGDeliveryChannel.1.1.ps1 @@ -1 +1 @@ -Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName config-bucket-NA -DeliveryChannel_S3KeyPrefix my \ No newline at end of file +Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName amzn-s3-demo-bucket -DeliveryChannel_S3KeyPrefix my \ No newline at end of file diff --git a/.doc_gen/snippet_files/ec2_Import-EC2Image.1.1.ps1 b/.doc_gen/snippet_files/ec2_Import-EC2Image.1.1.ps1 index 0ca4b291bb..d364efbc02 100644 --- a/.doc_gen/snippet_files/ec2_Import-EC2Image.1.1.ps1 +++ b/.doc_gen/snippet_files/ec2_Import-EC2Image.1.1.ps1 @@ -1,7 +1,7 @@ $container = New-Object Amazon.EC2.Model.ImageDiskContainer $container.Format="VMDK" $container.UserBucket = New-Object Amazon.EC2.Model.UserBucket -$container.UserBucket.S3Bucket = "myVirtualMachineImages" +$container.UserBucket.S3Bucket = "amzn-s3-demo-bucket" $container.UserBucket.S3Key = "Win_2008_Server_Standard_SP2_64-bit-disk1.vmdk" $parms = @{ diff --git a/.doc_gen/snippet_files/ec2_Import-EC2Snapshot.1.1.ps1 b/.doc_gen/snippet_files/ec2_Import-EC2Snapshot.1.1.ps1 index 21c80dee3a..46847a9d7b 100644 --- a/.doc_gen/snippet_files/ec2_Import-EC2Snapshot.1.1.ps1 +++ b/.doc_gen/snippet_files/ec2_Import-EC2Snapshot.1.1.ps1 @@ -3,7 +3,7 @@ $parms = @{ "Description"="Disk Image Import" "DiskContainer_Description" = "Data disk" "DiskContainer_Format" = "VMDK" - "DiskContainer_S3Bucket" = "myVirtualMachineImages" + "DiskContainer_S3Bucket" = "amzn-s3-demo-bucket" "DiskContainer_S3Key" = "datadiskimage.vmdk" } diff --git a/.doc_gen/snippet_files/ec2_New-EC2InstanceExportTask.1.1.ps1 b/.doc_gen/snippet_files/ec2_New-EC2InstanceExportTask.1.1.ps1 index 75aff6712a..f3b50f4d9e 100644 --- a/.doc_gen/snippet_files/ec2_New-EC2InstanceExportTask.1.1.ps1 +++ b/.doc_gen/snippet_files/ec2_New-EC2InstanceExportTask.1.1.ps1 @@ -1 +1 @@ -New-EC2InstanceExportTask -InstanceId i-0800b00a00EXAMPLE -ExportToS3Task_DiskImageFormat VHD -ExportToS3Task_S3Bucket "testbucket-export-instances-2019" -TargetEnvironment Microsoft -Region us-east-1 \ No newline at end of file +New-EC2InstanceExportTask -InstanceId i-0800b00a00EXAMPLE -ExportToS3Task_DiskImageFormat VHD -ExportToS3Task_S3Bucket "amzn-s3-demo-bucket" -TargetEnvironment Microsoft -Region us-east-1 \ No newline at end of file diff --git a/.doc_gen/snippet_files/ec2_New-EC2SpotDatafeedSubscription.1.1.ps1 b/.doc_gen/snippet_files/ec2_New-EC2SpotDatafeedSubscription.1.1.ps1 index 8af7ab4039..d58ae8475c 100644 --- a/.doc_gen/snippet_files/ec2_New-EC2SpotDatafeedSubscription.1.1.ps1 +++ b/.doc_gen/snippet_files/ec2_New-EC2SpotDatafeedSubscription.1.1.ps1 @@ -1 +1 @@ -New-EC2SpotDatafeedSubscription -Bucket my-s3-bucket -Prefix spotdata \ No newline at end of file +New-EC2SpotDatafeedSubscription -Bucket amzn-s3-demo-bucket -Prefix spotdata \ No newline at end of file diff --git a/.doc_gen/snippet_files/ec2_Register-EC2Image.1.1.ps1 b/.doc_gen/snippet_files/ec2_Register-EC2Image.1.1.ps1 index 2d86af577c..d06e3dd9d4 100644 --- a/.doc_gen/snippet_files/ec2_Register-EC2Image.1.1.ps1 +++ b/.doc_gen/snippet_files/ec2_Register-EC2Image.1.1.ps1 @@ -1 +1 @@ -Register-EC2Image -ImageLocation my-s3-bucket/my-web-server-ami/image.manifest.xml -Name my-web-server-ami \ No newline at end of file +Register-EC2Image -ImageLocation amzn-s3-demo-bucket/my-web-server-ami/image.manifest.xml -Name my-web-server-ami \ No newline at end of file diff --git a/.doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.1.1.ps1 b/.doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.1.1.ps1 new file mode 100644 index 0000000000..3c7e68b549 --- /dev/null +++ b/.doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.1.1.ps1 @@ -0,0 +1,7 @@ +$existingInboundRule = Get-EC2SecurityGroupRule -SecurityGroupRuleId "sgr-1234567890" +$ruleWithUpdatedDescription = [Amazon.EC2.Model.SecurityGroupRuleDescription]@{ + "SecurityGroupRuleId" = $existingInboundRule.SecurityGroupRuleId + "Description" = "Updated rule description" +} + +Update-EC2SecurityGroupRuleIngressDescription -GroupId $existingInboundRule.GroupId -SecurityGroupRuleDescription $ruleWithUpdatedDescription diff --git a/.doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.2.1.ps1 b/.doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.2.1.ps1 new file mode 100644 index 0000000000..3233ad569f --- /dev/null +++ b/.doc_gen/snippet_files/ec2_Update-EC2SecurityGroupRuleIngressDescription.2.1.ps1 @@ -0,0 +1,6 @@ +$existingInboundRule = Get-EC2SecurityGroupRule -SecurityGroupRuleId "sgr-1234567890" +$ruleWithoutDescription = [Amazon.EC2.Model.SecurityGroupRuleDescription]@{ + "SecurityGroupRuleId" = $existingInboundRule.SecurityGroupRuleId +} + +Update-EC2SecurityGroupRuleIngressDescription -GroupId $existingInboundRule.GroupId -SecurityGroupRuleDescription $ruleWithoutDescription diff --git a/.doc_gen/snippet_files/elastic-load-balancing_Edit-ELBLoadBalancerAttribute.3.1.ps1 b/.doc_gen/snippet_files/elastic-load-balancing_Edit-ELBLoadBalancerAttribute.3.1.ps1 index 4a179e9641..d0103e47e1 100644 --- a/.doc_gen/snippet_files/elastic-load-balancing_Edit-ELBLoadBalancerAttribute.3.1.ps1 +++ b/.doc_gen/snippet_files/elastic-load-balancing_Edit-ELBLoadBalancerAttribute.3.1.ps1 @@ -1,5 +1,5 @@ Edit-ELBLoadBalancerAttribute -LoadBalancerName my-load-balancer ` >> -AccessLog_Enabled $true ` ->> -AccessLog_S3BucketName my-logs-bucket ` +>> -AccessLog_S3BucketName amzn-s3-demo-logging-bucket ` >> -AccessLog_S3BucketPrefix my-app/prod ` >> -AccessLog_EmitInterval 60 \ No newline at end of file diff --git a/.doc_gen/snippet_files/glue_New-GLUEJob.1.1.ps1 b/.doc_gen/snippet_files/glue_New-GLUEJob.1.1.ps1 index b1257f6f88..93306318f5 100644 --- a/.doc_gen/snippet_files/glue_New-GLUEJob.1.1.ps1 +++ b/.doc_gen/snippet_files/glue_New-GLUEJob.1.1.ps1 @@ -1,6 +1,6 @@ $Command = New-Object Amazon.Glue.Model.JobCommand $Command.Name = 'glueetl' -$Command.ScriptLocation = 's3://aws-glue-scripts-000000000000-us-west-2/admin/MyTestGlueJob.py' +$Command.ScriptLocation = 's3://amzn-s3-demo-source-bucket/admin/MyTestGlueJob.py' $Command $Source = "source_test_table" @@ -8,7 +8,7 @@ $Target = "target_test_table" $Connections = $Source, $Target $DefArgs = @{ - '--TempDir' = 's3://aws-glue-temporary-000000000000-us-west-2/admin' + '--TempDir' = 's3://amzn-s3-demo-bucket/admin' '--job-bookmark-option' = 'job-bookmark-disable' '--job-language' = 'python' } diff --git a/.doc_gen/snippet_files/lambda_Publish-LMFunction.2.1.ps1 b/.doc_gen/snippet_files/lambda_Publish-LMFunction.2.1.ps1 index 415449faa7..288e6d8200 100644 --- a/.doc_gen/snippet_files/lambda_Publish-LMFunction.2.1.ps1 +++ b/.doc_gen/snippet_files/lambda_Publish-LMFunction.2.1.ps1 @@ -1,7 +1,7 @@ -Write-S3Object -BucketName mybucket -Key MyFunctionBinaries.zip -File .\MyFunctionBinaries.zip +Write-S3Object -BucketName amzn-s3-demo-bucket -Key MyFunctionBinaries.zip -File .\MyFunctionBinaries.zip Publish-LMFunction -Description "My C# Lambda Function" ` -FunctionName MyFunction ` - -BucketName mybucket ` + -BucketName amzn-s3-demo-bucket ` -Key MyFunctionBinaries.zip ` -Handler "AssemblyName::Namespace.ClassName::MethodName" ` -Role "arn:aws:iam::123456789012:role/LambdaFullExecRole" ` diff --git a/.doc_gen/snippet_files/lambda_Update-LMFunctionCode.2.1.ps1 b/.doc_gen/snippet_files/lambda_Update-LMFunctionCode.2.1.ps1 index e648f40470..bb4e2ca460 100644 --- a/.doc_gen/snippet_files/lambda_Update-LMFunctionCode.2.1.ps1 +++ b/.doc_gen/snippet_files/lambda_Update-LMFunctionCode.2.1.ps1 @@ -1 +1 @@ -Update-LMFunctionCode -FunctionName MyFunction -BucketName mybucket -Key UpdatedCode.zip \ No newline at end of file +Update-LMFunctionCode -FunctionName MyFunction -BucketName amzn-s3-demo-bucket -Key UpdatedCode.zip \ No newline at end of file diff --git a/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.1.1.ps1 b/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.1.1.ps1 index 594604d14b..0e77a6f473 100644 --- a/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.1.1.ps1 +++ b/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.1.1.ps1 @@ -1,4 +1,4 @@ -$arn1 = "arn:aws:s3:::mybucket" +$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket" $arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable" Add-RGTResourceTag -ResourceARNList $arn1,$arn2 -Tag @{ "stage"="beta"; "version"="preprod_test" } \ No newline at end of file diff --git a/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.2.1.ps1 b/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.2.1.ps1 index 59d74feded..25fbffb842 100644 --- a/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.2.1.ps1 +++ b/.doc_gen/snippet_files/resource-groups-tagging-api_Add-RGTResourceTag.2.1.ps1 @@ -1,4 +1,4 @@ -$arn1 = "arn:aws:s3:::mybucket" +$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket" $arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable" $arn1,$arn2 | Add-RGTResourceTag -Tag @{ "stage"="beta"; "version"="preprod_test" } \ No newline at end of file diff --git a/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.1.1.ps1 b/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.1.1.ps1 index 28bc137832..4f14876164 100644 --- a/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.1.1.ps1 +++ b/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.1.1.ps1 @@ -1,4 +1,4 @@ -$arn1 = "arn:aws:s3:::mybucket" +$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket" $arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable" Remove-RGTResourceTag -ResourceARNList $arn1,$arn2 -TagKey "stage","version" \ No newline at end of file diff --git a/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.2.1.ps1 b/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.2.1.ps1 index 5a07b1d029..b2f08b7884 100644 --- a/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.2.1.ps1 +++ b/.doc_gen/snippet_files/resource-groups-tagging-api_Remove-RGTResourceTag.2.1.ps1 @@ -1,4 +1,4 @@ -$arn1 = "arn:aws:s3:::mybucket" +$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket" $arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable" $arn1,$arn2 | Remove-RGTResourceTag -TagKey "stage","version" \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Copy-S3Object.1.1.ps1 b/.doc_gen/snippet_files/s3_Copy-S3Object.1.1.ps1 index f1d579b925..e2bfd27e10 100644 --- a/.doc_gen/snippet_files/s3_Copy-S3Object.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Copy-S3Object.1.1.ps1 @@ -1 +1 @@ -Copy-S3Object -BucketName test-files -Key sample.txt -DestinationKey sample-copy.txt \ No newline at end of file +Copy-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -DestinationKey sample-copy.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Copy-S3Object.2.1.ps1 b/.doc_gen/snippet_files/s3_Copy-S3Object.2.1.ps1 index 7a54823912..e08137c6a8 100644 --- a/.doc_gen/snippet_files/s3_Copy-S3Object.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Copy-S3Object.2.1.ps1 @@ -1 +1 @@ -Copy-S3Object -BucketName test-files -Key sample.txt -DestinationKey sample-copy.txt -DestinationBucket backup-files \ No newline at end of file +Copy-S3Object -BucketName amzn-s3-demo-source-bucket -Key sample.txt -DestinationKey sample-copy.txt -DestinationBucket amzn-s3-demo-destination-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Copy-S3Object.3.1.ps1 b/.doc_gen/snippet_files/s3_Copy-S3Object.3.1.ps1 index ff28d039ac..55a722cbb9 100644 --- a/.doc_gen/snippet_files/s3_Copy-S3Object.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_Copy-S3Object.3.1.ps1 @@ -1 +1 @@ -Copy-S3Object -BucketName test-files -Key sample.txt -LocalFile local-sample.txt \ No newline at end of file +Copy-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -LocalFile local-sample.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Copy-S3Object.4.1.ps1 b/.doc_gen/snippet_files/s3_Copy-S3Object.4.1.ps1 index 1110789720..e30a4629f3 100644 --- a/.doc_gen/snippet_files/s3_Copy-S3Object.4.1.ps1 +++ b/.doc_gen/snippet_files/s3_Copy-S3Object.4.1.ps1 @@ -1 +1 @@ -Copy-S3Object -BucketName test-files -Key data/archive.zip -LocalFolder c:\downloads \ No newline at end of file +Copy-S3Object -BucketName amzn-s3-demo-bucket -Key data/archive.zip -LocalFolder c:\downloads \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Copy-S3Object.5.1.ps1 b/.doc_gen/snippet_files/s3_Copy-S3Object.5.1.ps1 index 446d65f54e..201157dfff 100644 --- a/.doc_gen/snippet_files/s3_Copy-S3Object.5.1.ps1 +++ b/.doc_gen/snippet_files/s3_Copy-S3Object.5.1.ps1 @@ -1 +1 @@ -Copy-S3Object -BucketName test-files -KeyPrefix data -LocalFolder c:\downloads \ No newline at end of file +Copy-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix data -LocalFolder c:\downloads \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3ACL.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3ACL.1.1.ps1 index 1769a1c0c0..86c8dbb35e 100644 --- a/.doc_gen/snippet_files/s3_Get-S3ACL.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3ACL.1.1.ps1 @@ -1 +1 @@ -Get-S3ACL -BucketName 's3casetestbucket' -key 'initialize.ps1' -Select AccessControlList.Owner \ No newline at end of file +Get-S3ACL -BucketName 'amzn-s3-demo-bucket' -key 'initialize.ps1' -Select AccessControlList.Owner \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3Bucket.2.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3Bucket.2.1.ps1 index 53db3389ac..526d86f9aa 100644 --- a/.doc_gen/snippet_files/s3_Get-S3Bucket.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3Bucket.2.1.ps1 @@ -1 +1 @@ -Get-S3Bucket -BucketName test-files \ No newline at end of file +Get-S3Bucket -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketAccelerateConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketAccelerateConfiguration.1.1.ps1 index 002760d2ba..5e8131a23c 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketAccelerateConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketAccelerateConfiguration.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketAccelerateConfiguration -BucketName 's3testbucket' \ No newline at end of file +Get-S3BucketAccelerateConfiguration -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfiguration.1.1.ps1 index 8ea4888b8d..ccee5d5a24 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfiguration.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketAnalyticsConfiguration -BucketName 's3testbucket' -AnalyticsId 'testfilter' \ No newline at end of file +Get-S3BucketAnalyticsConfiguration -BucketName 'amzn-s3-demo-bucket' -AnalyticsId 'testfilter' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfigurationList.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfigurationList.1.1.ps1 index 3f70103eb2..85f6804b69 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfigurationList.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketAnalyticsConfigurationList.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketAnalyticsConfigurationList -BucketName 's3casetestbucket' \ No newline at end of file +Get-S3BucketAnalyticsConfigurationList -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketEncryption.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketEncryption.1.1.ps1 index 5a527e667d..08a0c881e8 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketEncryption.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketEncryption.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketEncryption -BucketName 's3casetestbucket' \ No newline at end of file +Get-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfiguration.1.1.ps1 index c6b6f74fc1..d6bf1079cc 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfiguration.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketInventoryConfiguration -BucketName 's3testbucket' -InventoryId 'testinventory' \ No newline at end of file +Get-S3BucketInventoryConfiguration -BucketName 'amzn-s3-demo-bucket' -InventoryId 'testinventory' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfigurationList.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfigurationList.1.1.ps1 index f4398e1ac5..82f086717a 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfigurationList.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketInventoryConfigurationList.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketInventoryConfigurationList -BucketName 's3testbucket' \ No newline at end of file +Get-S3BucketInventoryConfigurationList -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketLocation.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketLocation.1.1.ps1 index f818714099..687013652b 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketLocation.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketLocation.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketLocation -BucketName 's3testbucket' \ No newline at end of file +Get-S3BucketLocation -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketLogging.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketLogging.1.1.ps1 index d83df93ae0..2fe11eb6f2 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketLogging.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketLogging.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketLogging -BucketName 's3testbucket' \ No newline at end of file +Get-S3BucketLogging -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketMetricsConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketMetricsConfiguration.1.1.ps1 index 3f81b95cab..95095ff8a9 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketMetricsConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketMetricsConfiguration.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketMetricsConfiguration -BucketName 's3testbucket' -MetricsId 'testfilter' \ No newline at end of file +Get-S3BucketMetricsConfiguration -BucketName 'amzn-s3-demo-bucket' -MetricsId 'testfilter' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketNotification.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketNotification.1.1.ps1 index b4e8157b5b..290cdf2eac 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketNotification.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketNotification.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketNotification -BucketName kt-tools | select -ExpandProperty TopicConfigurations \ No newline at end of file +Get-S3BucketNotification -BucketName amzn-s3-demo-bucket | select -ExpandProperty TopicConfigurations \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketPolicy.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketPolicy.1.1.ps1 index 55c1b98034..313b630d69 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketPolicy.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketPolicy.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketPolicy -BucketName 's3testbucket' \ No newline at end of file +Get-S3BucketPolicy -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketPolicyStatus.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketPolicyStatus.1.1.ps1 index a930db04f8..b020c8636c 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketPolicyStatus.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketPolicyStatus.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketPolicyStatus -BucketName 's3casetestbucket' \ No newline at end of file +Get-S3BucketPolicyStatus -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketReplication.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketReplication.1.1.ps1 index 8159f3b68a..295ffa044a 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketReplication.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketReplication.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketReplication -BucketName mybucket \ No newline at end of file +Get-S3BucketReplication -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketRequestPayment.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketRequestPayment.1.1.ps1 index 289e228287..30e67b5e69 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketRequestPayment.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketRequestPayment.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketRequestPayment -BucketName mybucket \ No newline at end of file +Get-S3BucketRequestPayment -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketTagging.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketTagging.1.1.ps1 index c6502ade39..c5f8e4dace 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketTagging.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketTagging.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketTagging -BucketName 's3casetestbucket' \ No newline at end of file +Get-S3BucketTagging -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketVersioning.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketVersioning.1.1.ps1 index 2cc80ca208..9a0de096d2 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketVersioning.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketVersioning.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketVersioning -BucketName 's3testbucket' \ No newline at end of file +Get-S3BucketVersioning -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3BucketWebsite.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3BucketWebsite.1.1.ps1 index a760a1f5e4..a55f5f7769 100644 --- a/.doc_gen/snippet_files/s3_Get-S3BucketWebsite.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3BucketWebsite.1.1.ps1 @@ -1 +1 @@ -Get-S3BucketWebsite -BucketName 's3testbucket' \ No newline at end of file +Get-S3BucketWebsite -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3CORSConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3CORSConfiguration.1.1.ps1 index a4aa399f70..8bbd5e8a92 100644 --- a/.doc_gen/snippet_files/s3_Get-S3CORSConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3CORSConfiguration.1.1.ps1 @@ -1 +1 @@ -Get-S3CORSConfiguration -BucketName 's3testbucket' -Select Configuration.Rules \ No newline at end of file +Get-S3CORSConfiguration -BucketName 'amzn-s3-demo-bucket' -Select Configuration.Rules \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3LifecycleConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3LifecycleConfiguration.1.1.ps1 index c9ede7f221..fe88b7ece3 100644 --- a/.doc_gen/snippet_files/s3_Get-S3LifecycleConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3LifecycleConfiguration.1.1.ps1 @@ -1 +1 @@ -Get-S3LifecycleConfiguration -BucketName test-bla \ No newline at end of file +Get-S3LifecycleConfiguration -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3Object.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3Object.1.1.ps1 index b364f576a4..9fb198a06e 100644 --- a/.doc_gen/snippet_files/s3_Get-S3Object.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3Object.1.1.ps1 @@ -1 +1 @@ -Get-S3Object -BucketName test-files \ No newline at end of file +Get-S3Object -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3Object.2.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3Object.2.1.ps1 index 826f45aeca..c3316d7d36 100644 --- a/.doc_gen/snippet_files/s3_Get-S3Object.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3Object.2.1.ps1 @@ -1 +1 @@ -Get-S3Object -BucketName test-files -Key sample.txt \ No newline at end of file +Get-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3Object.3.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3Object.3.1.ps1 index d10b32ba06..fee23d9cbb 100644 --- a/.doc_gen/snippet_files/s3_Get-S3Object.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3Object.3.1.ps1 @@ -1 +1 @@ -Get-S3Object -BucketName test-files -KeyPrefix sample \ No newline at end of file +Get-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix sample \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3ObjectLockConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3ObjectLockConfiguration.1.1.ps1 index 6646f2cef5..0374af7bab 100644 --- a/.doc_gen/snippet_files/s3_Get-S3ObjectLockConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3ObjectLockConfiguration.1.1.ps1 @@ -1 +1 @@ -Get-S3ObjectLockConfiguration -BucketName 's3buckettesting' -Select ObjectLockConfiguration.ObjectLockEnabled \ No newline at end of file +Get-S3ObjectLockConfiguration -BucketName 'amzn-s3-demo-bucket' -Select ObjectLockConfiguration.ObjectLockEnabled \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3ObjectMetadata.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3ObjectMetadata.1.1.ps1 index af5fb69ba0..b4feb71dca 100644 --- a/.doc_gen/snippet_files/s3_Get-S3ObjectMetadata.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3ObjectMetadata.1.1.ps1 @@ -1 +1 @@ -Get-S3ObjectMetadata -BucketName 's3testbucket' -Key 'ListTrusts.txt' \ No newline at end of file +Get-S3ObjectMetadata -BucketName 'amzn-s3-demo-bucket' -Key 'ListTrusts.txt' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3ObjectRetention.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3ObjectRetention.1.1.ps1 index 5b26c9ff79..9c6c92d27c 100644 --- a/.doc_gen/snippet_files/s3_Get-S3ObjectRetention.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3ObjectRetention.1.1.ps1 @@ -1 +1 @@ -Get-S3ObjectRetention -BucketName 's3buckettesting' -Key 'testfile.txt' \ No newline at end of file +Get-S3ObjectRetention -BucketName 'amzn-s3-demo-bucket' -Key 'testfile.txt' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3ObjectTagSet.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3ObjectTagSet.1.1.ps1 index a837172f17..1e65d94544 100644 --- a/.doc_gen/snippet_files/s3_Get-S3ObjectTagSet.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3ObjectTagSet.1.1.ps1 @@ -1 +1 @@ -Get-S3ObjectTagSet -Key 'testfile.txt' -BucketName 'testbucket123' \ No newline at end of file +Get-S3ObjectTagSet -Key 'testfile.txt' -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.1.1.ps1 index a7e6099f45..e01338075d 100644 --- a/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.1.1.ps1 @@ -1 +1 @@ -Get-S3PreSignedURL -BucketName 's3testbucket' -Key 'testkey' -Expires '2023-11-16' \ No newline at end of file +Get-S3PreSignedURL -BucketName 'amzn-s3-demo-bucket' -Key 'testkey' -Expires '2023-11-16' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.2.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.2.1.ps1 index cbb1c9ff47..ce1cdf3415 100644 --- a/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3PreSignedURL.2.1.ps1 @@ -1,2 +1,2 @@ [Amazon.AWSConfigsS3]::UseSignatureVersion4 = $true - Get-S3PreSignedURL -BucketName sampledirectorybucket--use1-az5--x-s3 -Key 'testkey' -Expire '2023-11-17' \ No newline at end of file + Get-S3PreSignedURL -BucketName amzn-s3-demo-bucket--usw2-az1--x-s3 -Key 'testkey' -Expire '2023-11-17' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3PublicAccessBlock.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3PublicAccessBlock.1.1.ps1 index 4cc32986ac..95f5ea0ead 100644 --- a/.doc_gen/snippet_files/s3_Get-S3PublicAccessBlock.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3PublicAccessBlock.1.1.ps1 @@ -1 +1 @@ -Get-S3PublicAccessBlock -BucketName 's3testbucket' \ No newline at end of file +Get-S3PublicAccessBlock -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Get-S3Version.1.1.ps1 b/.doc_gen/snippet_files/s3_Get-S3Version.1.1.ps1 index f7c7e0175b..cf3f7dca86 100644 --- a/.doc_gen/snippet_files/s3_Get-S3Version.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Get-S3Version.1.1.ps1 @@ -1 +1 @@ -Get-S3Version -BucketName 's3testbucket' \ No newline at end of file +Get-S3Version -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_New-S3Bucket.1.1.ps1 b/.doc_gen/snippet_files/s3_New-S3Bucket.1.1.ps1 index 7f69501141..e1d34eca0c 100644 --- a/.doc_gen/snippet_files/s3_New-S3Bucket.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_New-S3Bucket.1.1.ps1 @@ -1 +1 @@ -New-S3Bucket -BucketName sample-bucket \ No newline at end of file +New-S3Bucket -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_New-S3Bucket.2.1.ps1 b/.doc_gen/snippet_files/s3_New-S3Bucket.2.1.ps1 index 5852ed0762..2bc2ead673 100644 --- a/.doc_gen/snippet_files/s3_New-S3Bucket.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_New-S3Bucket.2.1.ps1 @@ -1 +1 @@ -New-S3Bucket -BucketName sample-bucket -PublicReadWrite \ No newline at end of file +New-S3Bucket -BucketName amzn-s3-demo-bucket -PublicReadWrite \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_New-S3Bucket.3.1.ps1 b/.doc_gen/snippet_files/s3_New-S3Bucket.3.1.ps1 index 6d6e0bd06a..7089c39d72 100644 --- a/.doc_gen/snippet_files/s3_New-S3Bucket.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_New-S3Bucket.3.1.ps1 @@ -1 +1 @@ -New-S3Bucket -BucketName sample-bucket -PublicReadOnly \ No newline at end of file +New-S3Bucket -BucketName amzn-s3-demo-bucket -PublicReadOnly \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_New-S3Bucket.4.1.ps1 b/.doc_gen/snippet_files/s3_New-S3Bucket.4.1.ps1 index b2e7a40967..fc5ed00691 100644 --- a/.doc_gen/snippet_files/s3_New-S3Bucket.4.1.ps1 +++ b/.doc_gen/snippet_files/s3_New-S3Bucket.4.1.ps1 @@ -4,8 +4,8 @@ $bucketConfiguration = @{ Type = 'Directory' } Location = @{ - Name = 'use1-az5' + Name = 'usw2-az1' Type = 'AvailabilityZone' } } -New-S3Bucket -BucketName samplebucket--use1-az5--x-s3 -BucketConfiguration $bucketConfiguration -Region us-east-1 \ No newline at end of file +New-S3Bucket -BucketName amzn-s3-demo-bucket--usw2-az1--x-s3 -BucketConfiguration $bucketConfiguration -Region us-west-2 \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Read-S3Object.1.1.ps1 b/.doc_gen/snippet_files/s3_Read-S3Object.1.1.ps1 index a719286d10..678b16ef02 100644 --- a/.doc_gen/snippet_files/s3_Read-S3Object.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Read-S3Object.1.1.ps1 @@ -1 +1 @@ -Read-S3Object -BucketName test-files -Key sample.txt -File local-sample.txt \ No newline at end of file +Read-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -File local-sample.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Read-S3Object.2.1.ps1 b/.doc_gen/snippet_files/s3_Read-S3Object.2.1.ps1 index 586ce45d1e..e920d2a40c 100644 --- a/.doc_gen/snippet_files/s3_Read-S3Object.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Read-S3Object.2.1.ps1 @@ -1 +1 @@ -Read-S3Object -BucketName test-files -KeyPrefix DIR -Folder Local-DIR \ No newline at end of file +Read-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix DIR -Folder Local-DIR \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3Bucket.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3Bucket.1.1.ps1 index eb841977af..11f907f86f 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3Bucket.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3Bucket.1.1.ps1 @@ -1 +1 @@ -Remove-S3Bucket -BucketName test-files -DeleteBucketContent \ No newline at end of file +Remove-S3Bucket -BucketName amzn-s3-demo-bucket -DeleteBucketContent \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketAnalyticsConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketAnalyticsConfiguration.1.1.ps1 index c0f9547d7f..fdc259f98c 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketAnalyticsConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketAnalyticsConfiguration.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketAnalyticsConfiguration -BucketName 's3testbucket' -AnalyticsId 'testfilter' \ No newline at end of file +Remove-S3BucketAnalyticsConfiguration -BucketName 'amzn-s3-demo-bucket' -AnalyticsId 'testfilter' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketEncryption.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketEncryption.1.1.ps1 index c00cd4bbaf..643fa9af85 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketEncryption.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketEncryption.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketEncryption -BucketName 's3casetestbucket' \ No newline at end of file +Remove-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketInventoryConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketInventoryConfiguration.1.1.ps1 index e4e4d0ee8e..e4784e77b4 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketInventoryConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketInventoryConfiguration.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketInventoryConfiguration -BucketName 's3testbucket' -InventoryId 'testInventoryName' \ No newline at end of file +Remove-S3BucketInventoryConfiguration -BucketName 'amzn-s3-demo-bucket' -InventoryId 'testInventoryName' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketMetricsConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketMetricsConfiguration.1.1.ps1 index a3463a73a8..34094a2470 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketMetricsConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketMetricsConfiguration.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketMetricsConfiguration -BucketName 's3testbucket' -MetricsId 'testmetrics' \ No newline at end of file +Remove-S3BucketMetricsConfiguration -BucketName 'amzn-s3-demo-bucket' -MetricsId 'testmetrics' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketPolicy.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketPolicy.1.1.ps1 index db43d26a46..16cd19c546 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketPolicy.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketPolicy.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketPolicy -BucketName 's3testbucket' \ No newline at end of file +Remove-S3BucketPolicy -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketReplication.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketReplication.1.1.ps1 index 96fe8408a6..898677fd25 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketReplication.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketReplication.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketReplication -BucketName mybucket \ No newline at end of file +Remove-S3BucketReplication -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketTagging.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketTagging.1.1.ps1 index 7db1743bd1..b81572ac7b 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketTagging.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketTagging.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketTagging -BucketName 's3testbucket' \ No newline at end of file +Remove-S3BucketTagging -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3BucketWebsite.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3BucketWebsite.1.1.ps1 index 7029068dc0..b16b32e4f4 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3BucketWebsite.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3BucketWebsite.1.1.ps1 @@ -1 +1 @@ -Remove-S3BucketWebsite -BucketName 's3testbucket' \ No newline at end of file +Remove-S3BucketWebsite -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3CORSConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3CORSConfiguration.1.1.ps1 index 36e2b0a82d..ac91263f8f 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3CORSConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3CORSConfiguration.1.1.ps1 @@ -1 +1 @@ -Remove-S3CORSConfiguration -BucketName 's3testbucket' \ No newline at end of file +Remove-S3CORSConfiguration -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3LifecycleConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3LifecycleConfiguration.1.1.ps1 index 3774ad5f24..29bb98740f 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3LifecycleConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3LifecycleConfiguration.1.1.ps1 @@ -1 +1 @@ -Remove-S3LifecycleConfiguration -BucketName 's3testbucket' \ No newline at end of file +Remove-S3LifecycleConfiguration -BucketName 'amzn-s3-demo-bucket' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.1.1.ps1 index 2904a0ed40..758a38a9c7 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.1.1.ps1 @@ -1 +1 @@ -Remove-S3MultipartUpload -BucketName test-files -DaysBefore 5 \ No newline at end of file +Remove-S3MultipartUpload -BucketName amzn-s3-demo-bucket -DaysBefore 5 \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.2.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.2.1.ps1 index 7469d539e8..41d09b0481 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.2.1.ps1 @@ -1 +1 @@ -Remove-S3MultipartUpload -BucketName test-files -InitiatedDate "Thursday, January 02, 2014" \ No newline at end of file +Remove-S3MultipartUpload -BucketName amzn-s3-demo-bucket -InitiatedDate "Thursday, January 02, 2014" \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.3.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.3.1.ps1 index 475960c999..7ab74519c2 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3MultipartUpload.3.1.ps1 @@ -1 +1 @@ -Remove-S3MultipartUpload -BucketName test-files -InitiatedDate "2014/01/02 10:45:37" \ No newline at end of file +Remove-S3MultipartUpload -BucketName amzn-s3-demo-bucket -InitiatedDate "2014/01/02 10:45:37" \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3Object.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3Object.1.1.ps1 index 5e69d8134c..75212f24d0 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3Object.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3Object.1.1.ps1 @@ -1 +1 @@ -Remove-S3Object -BucketName test-files -Key sample.txt \ No newline at end of file +Remove-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3Object.2.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3Object.2.1.ps1 index e5e9c46ef7..f228c04a1d 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3Object.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3Object.2.1.ps1 @@ -1 +1 @@ -Remove-S3Object -BucketName test-files -Key sample.txt -VersionId HLbxnx6V9omT6AQYVpks8mmFKQcejpqt \ No newline at end of file +Remove-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -VersionId HLbxnx6V9omT6AQYVpks8mmFKQcejpqt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3Object.3.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3Object.3.1.ps1 index 1959aed9c4..abca123aa6 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3Object.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3Object.3.1.ps1 @@ -1 +1 @@ -Remove-S3Object -BucketName test-files -KeyCollection @( "sample1.txt", "sample2.txt", "sample3.txt" ) \ No newline at end of file +Remove-S3Object -BucketName amzn-s3-demo-bucket -KeyCollection @( "sample1.txt", "sample2.txt", "sample3.txt" ) \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3Object.4.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3Object.4.1.ps1 index 727a85abde..f6edf3b54e 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3Object.4.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3Object.4.1.ps1 @@ -1 +1 @@ -Remove-S3Object -bucketname "test-files" -KeyCollection (Get-S3Object "test-files" -KeyPrefix "prefix/subprefix" | select -ExpandProperty Key) \ No newline at end of file +Remove-S3Object -bucketname "amzn-s3-demo-bucket" -KeyCollection (Get-S3Object "test-files" -KeyPrefix "prefix/subprefix" | select -ExpandProperty Key) \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3Object.5.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3Object.5.1.ps1 index a3395a4218..84a3e34c6e 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3Object.5.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3Object.5.1.ps1 @@ -1 +1 @@ -Get-S3Object -BucketName "test-files" -KeyPrefix "prefix/subprefix" | Remove-S3Object -Force \ No newline at end of file +Get-S3Object -BucketName "amzn-s3-demo-bucket" -KeyPrefix "prefix/subprefix" | Remove-S3Object -Force \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3Object.6.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3Object.6.1.ps1 index 3a51501996..a9f9059730 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3Object.6.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3Object.6.1.ps1 @@ -1 +1 @@ -(Get-S3Version -BucketName "test-files").Versions | Where {$_.IsDeleteMarker -eq "True"} | Remove-S3Object -Force \ No newline at end of file +(Get-S3Version -BucketName "amzn-s3-demo-bucket").Versions | Where {$_.IsDeleteMarker -eq "True"} | Remove-S3Object -Force \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3ObjectTagSet.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3ObjectTagSet.1.1.ps1 index efa7f96abd..81b991a0e2 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3ObjectTagSet.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3ObjectTagSet.1.1.ps1 @@ -1 +1 @@ -Remove-S3ObjectTagSet -Key 'testfile.txt' -BucketName 's3testbucket' -Select '^Key' \ No newline at end of file +Remove-S3ObjectTagSet -Key 'testfile.txt' -BucketName 'amzn-s3-demo-bucket' -Select '^Key' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Remove-S3PublicAccessBlock.1.1.ps1 b/.doc_gen/snippet_files/s3_Remove-S3PublicAccessBlock.1.1.ps1 index fd86731b46..bd4adf7fff 100644 --- a/.doc_gen/snippet_files/s3_Remove-S3PublicAccessBlock.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Remove-S3PublicAccessBlock.1.1.ps1 @@ -1 +1 @@ -Remove-S3PublicAccessBlock -BucketName 's3testbucket' -Force -Select '^BucketName' \ No newline at end of file +Remove-S3PublicAccessBlock -BucketName 'amzn-s3-demo-bucket' -Force -Select '^BucketName' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Set-S3BucketEncryption.1.1.ps1 b/.doc_gen/snippet_files/s3_Set-S3BucketEncryption.1.1.ps1 index bb2fcfc6ee..c12c8555f5 100644 --- a/.doc_gen/snippet_files/s3_Set-S3BucketEncryption.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Set-S3BucketEncryption.1.1.ps1 @@ -1,2 +1,2 @@ $Encryptionconfig = @{ServerSideEncryptionByDefault = @{ServerSideEncryptionAlgorithm = "AES256"}} -Set-S3BucketEncryption -BucketName 's3testbucket' -ServerSideEncryptionConfiguration_ServerSideEncryptionRule $Encryptionconfig \ No newline at end of file +Set-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket' -ServerSideEncryptionConfiguration_ServerSideEncryptionRule $Encryptionconfig \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Test-S3Bucket.1.1.ps1 b/.doc_gen/snippet_files/s3_Test-S3Bucket.1.1.ps1 index dc3e8b9031..54d7d6cfe4 100644 --- a/.doc_gen/snippet_files/s3_Test-S3Bucket.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Test-S3Bucket.1.1.ps1 @@ -1 +1 @@ -Test-S3Bucket -BucketName test-files \ No newline at end of file +Test-S3Bucket -BucketName amzn-s3-demo-bucket \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketAccelerateConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketAccelerateConfiguration.1.1.ps1 index 0bd9021eb3..f8e701531b 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketAccelerateConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketAccelerateConfiguration.1.1.ps1 @@ -1,2 +1,2 @@ $statusVal = New-Object Amazon.S3.BucketAccelerateStatus('Enabled') -Write-S3BucketAccelerateConfiguration -BucketName 's3testbucket' -AccelerateConfiguration_Status $statusVal \ No newline at end of file +Write-S3BucketAccelerateConfiguration -BucketName 'amzn-s3-demo-bucket' -AccelerateConfiguration_Status $statusVal \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketNotification.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketNotification.1.1.ps1 index 575d633732..176f16a74f 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketNotification.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketNotification.1.1.ps1 @@ -4,4 +4,4 @@ $topic = [Amazon.S3.Model.TopicConfiguration] @{ Event = [Amazon.S3.EventType]::ObjectRemovedDelete } -Write-S3BucketNotification -BucketName kt-tools -TopicConfiguration $topic \ No newline at end of file +Write-S3BucketNotification -BucketName amzn-s3-demo-bucket -TopicConfiguration $topic \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketNotification.2.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketNotification.2.1.ps1 index a44cef3f8a..8e512ac507 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketNotification.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketNotification.2.1.ps1 @@ -12,4 +12,4 @@ $lambdaConfig = [Amazon.S3.Model.LambdaFunctionConfiguration] @{ } } -Write-S3BucketNotification -BucketName ssm-editor -LambdaFunctionConfiguration $lambdaConfig \ No newline at end of file +Write-S3BucketNotification -BucketName amzn-s3-demo-bucket -LambdaFunctionConfiguration $lambdaConfig \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketNotification.3.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketNotification.3.1.ps1 index aaf6830094..68e4ad9671 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketNotification.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketNotification.3.1.ps1 @@ -30,4 +30,4 @@ $secondlambdaConfig = [Amazon.S3.Model.LambdaFunctionConfiguration] @{ } } -Write-S3BucketNotification -BucketName ssm-editor -LambdaFunctionConfiguration $firstLambdaConfig,$secondlambdaConfig \ No newline at end of file +Write-S3BucketNotification -BucketName amzn-s3-demo-bucket -LambdaFunctionConfiguration $firstLambdaConfig,$secondlambdaConfig \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketReplication.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketReplication.1.1.ps1 index 833af15359..3822d39b61 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketReplication.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketReplication.1.1.ps1 @@ -2,10 +2,10 @@ $rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" -$rule1.Destination = @{ BucketArn = "arn:aws:s3:::exampletargetbucket" } +$rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ - BucketName = "examplebucket" + BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketReplication.2.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketReplication.2.1.ps1 index 9388096ae7..a25bd998f1 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketReplication.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketReplication.2.1.ps1 @@ -2,16 +2,16 @@ $rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" -$rule1.Destination = @{ BucketArn = "arn:aws:s3:::exampletargetbucket" } +$rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $rule2 = New-Object Amazon.S3.Model.ReplicationRule $rule2.ID = "Rule-2" $rule2.Status = "Enabled" $rule2.Prefix = "OtherDocs" -$rule2.Destination = @{ BucketArn = "arn:aws:s3:::exampletargetbucket" } +$rule2.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ - BucketName = "examplebucket" + BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1,$rule2 } diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketReplication.3.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketReplication.3.1.ps1 index cd3df2ede3..39f17f744e 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketReplication.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketReplication.3.1.ps1 @@ -2,10 +2,10 @@ $rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Disabled" $rule1.Prefix = "TaxDocs" -$rule1.Destination = @{ BucketArn = "arn:aws:s3:::exampletargetbucket" } +$rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ - BucketName = "examplebucket" + BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketRequestPayment.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketRequestPayment.1.1.ps1 index 93a0eec625..b66b0d494b 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketRequestPayment.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketRequestPayment.1.1.ps1 @@ -1 +1 @@ -Write-S3BucketRequestPayment -BucketName mybucket -RequestPaymentConfiguration_Payer Requester \ No newline at end of file +Write-S3BucketRequestPayment -BucketName amzn-s3-demo-bucket -RequestPaymentConfiguration_Payer Requester \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketTagging.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketTagging.1.1.ps1 index dcabec3571..97d9c33791 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketTagging.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketTagging.1.1.ps1 @@ -1 +1 @@ -Write-S3BucketTagging -BucketName cloudtrail-test-2018 -TagSet @( @{ Key="Stage"; Value="Test" }, @{ Key="Environment"; Value="Alpha" } ) \ No newline at end of file +Write-S3BucketTagging -BucketName amzn-s3-demo-bucket -TagSet @( @{ Key="Stage"; Value="Test" }, @{ Key="Environment"; Value="Alpha" } ) \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketTagging.2.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketTagging.2.1.ps1 index 20b206082c..55521ccc39 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketTagging.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketTagging.2.1.ps1 @@ -1 +1 @@ -Get-S3Bucket -BucketName cloudtrail-test-2018 | Write-S3BucketTagging -TagSet @( @{ Key="Stage"; Value="Production" }, @{ Key="Department"; Value="Finance" } ) \ No newline at end of file +Get-S3Bucket -BucketName amzn-s3-demo-bucket | Write-S3BucketTagging -TagSet @( @{ Key="Stage"; Value="Production" }, @{ Key="Department"; Value="Finance" } ) \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketVersioning.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketVersioning.1.1.ps1 index 0add92a25f..dfb78785a1 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketVersioning.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketVersioning.1.1.ps1 @@ -1 +1 @@ -Write-S3BucketVersioning -BucketName 's3testbucket' -VersioningConfig_Status Enabled \ No newline at end of file +Write-S3BucketVersioning -BucketName 'amzn-s3-demo-bucket' -VersioningConfig_Status Enabled \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3BucketWebsite.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3BucketWebsite.1.1.ps1 index 1151d63ab1..8ec128abb6 100644 --- a/.doc_gen/snippet_files/s3_Write-S3BucketWebsite.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3BucketWebsite.1.1.ps1 @@ -1 +1 @@ -Write-S3BucketWebsite -BucketName 's3testbucket' -WebsiteConfiguration_IndexDocumentSuffix 'index.html' -WebsiteConfiguration_ErrorDocument 'error.html' \ No newline at end of file +Write-S3BucketWebsite -BucketName 'amzn-s3-demo-bucket' -WebsiteConfiguration_IndexDocumentSuffix 'index.html' -WebsiteConfiguration_ErrorDocument 'error.html' \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.1.1.ps1 index b59eb30f86..552491ba8c 100644 --- a/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.1.1.ps1 @@ -24,4 +24,4 @@ $NewRule = [Amazon.S3.Model.LifecycleRule] @{ } } - Write-S3LifecycleConfiguration -BucketName my-review-scrap -Configuration_Rule $NewRule \ No newline at end of file + Write-S3LifecycleConfiguration -BucketName amzn-s3-demo-bucket -Configuration_Rule $NewRule \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.2.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.2.1.ps1 index a337855a93..0015ea7b72 100644 --- a/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3LifecycleConfiguration.2.1.ps1 @@ -58,4 +58,4 @@ $ExpireRule = [Amazon.S3.Model.LifecycleRule] @{ ) } - Write-S3LifecycleConfiguration -BucketName my-review-scrap -Configuration_Rule $ExpireRule,$ArchiveRule \ No newline at end of file + Write-S3LifecycleConfiguration -BucketName amzn-s3-demo-bucket -Configuration_Rule $ExpireRule,$ArchiveRule \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.1.1.ps1 index 71a01594cf..e4addb3992 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.1.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -Key "sample.txt" -File .\local-sample.txt \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -Key "sample.txt" -File .\local-sample.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.2.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.2.1.ps1 index 6ee34326ed..4f59be5e05 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.2.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.2.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -File .\sample.txt \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -File .\sample.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.3.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.3.1.ps1 index 88588a183f..240562845f 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.3.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.3.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -Key "prefix/to/sample.txt" -File .\local-sample.txt \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -Key "prefix/to/sample.txt" -File .\local-sample.txt \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.4.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.4.1.ps1 index c56dd569ec..f27bc3863d 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.4.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.4.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -Folder .\Scripts -KeyPrefix SampleScripts\ \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -Folder .\Scripts -KeyPrefix SampleScripts\ \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.5.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.5.1.ps1 index 4da88eedc4..425074e086 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.5.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.5.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -Folder .\Scripts -KeyPrefix SampleScripts\ -SearchPattern *.ps1 \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -Folder .\Scripts -KeyPrefix SampleScripts\ -SearchPattern *.ps1 \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.6.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.6.1.ps1 index 3cfdf531e2..8da07fb4d5 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.6.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.6.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -Key "sample.txt" -Content "object contents" \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -Key "sample.txt" -Content "object contents" \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.7.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.7.1.ps1 index 35ff673075..c0b00403fb 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.7.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.7.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -File "sample.txt" -TagSet @{Key="key1";Value="value1"},@{Key="key2";Value="value2"} \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -File "sample.txt" -TagSet @{Key="key1";Value="value1"},@{Key="key2";Value="value2"} \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3Object.8.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3Object.8.1.ps1 index bfe6deb71f..2fb4aea1d4 100644 --- a/.doc_gen/snippet_files/s3_Write-S3Object.8.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3Object.8.1.ps1 @@ -1 +1 @@ -Write-S3Object -BucketName test-files -Folder . -KeyPrefix "TaggedFiles" -Recurse -TagSet @{Key="key1";Value="value1"},@{Key="key2";Value="value2"} \ No newline at end of file +Write-S3Object -BucketName amzn-s3-demo-bucket -Folder . -KeyPrefix "TaggedFiles" -Recurse -TagSet @{Key="key1";Value="value1"},@{Key="key2";Value="value2"} \ No newline at end of file diff --git a/.doc_gen/snippet_files/s3_Write-S3ObjectRetention.1.1.ps1 b/.doc_gen/snippet_files/s3_Write-S3ObjectRetention.1.1.ps1 index 2472e17f63..ccf5446a88 100644 --- a/.doc_gen/snippet_files/s3_Write-S3ObjectRetention.1.1.ps1 +++ b/.doc_gen/snippet_files/s3_Write-S3ObjectRetention.1.1.ps1 @@ -1 +1 @@ -Write-S3ObjectRetention -BucketName 's3buckettesting' -Key 'testfile.txt' -Retention_Mode GOVERNANCE -Retention_RetainUntilDate "2019-12-31T00:00:00" \ No newline at end of file +Write-S3ObjectRetention -BucketName 'amzn-s3-demo-bucket' -Key 'testfile.txt' -Retention_Mode GOVERNANCE -Retention_RetainUntilDate "2019-12-31T00:00:00" \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index b923b4035b..577158be35 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -12,6 +12,14 @@ body: description: What is the problem? A clear and concise description of the bug. validations: required: true + - type: checkboxes + id: regression + attributes: + label: Regression Issue + description: What is a regression? If it worked in a previous version but doesn't in the latest version, it's considered a regression. In this case, please provide specific version number in the report. + options: + - label: Select this option if this issue appears to be a regression. + required: false - type: textarea id: expected attributes: diff --git a/.github/workflows/issue-regression-labeler.yml b/.github/workflows/issue-regression-labeler.yml new file mode 100644 index 0000000000..bd000719d1 --- /dev/null +++ b/.github/workflows/issue-regression-labeler.yml @@ -0,0 +1,32 @@ +# Apply potential regression label on issues +name: issue-regression-label +on: + issues: + types: [opened, edited] +jobs: + add-regression-label: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Fetch template body + id: check_regression + uses: actions/github-script@v7 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TEMPLATE_BODY: ${{ github.event.issue.body }} + with: + script: | + const regressionPattern = /\[x\] Select this option if this issue appears to be a regression\./i; + const template = `${process.env.TEMPLATE_BODY}` + const match = regressionPattern.test(template); + core.setOutput('is_regression', match); + - name: Manage regression label + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if [ "${{ steps.check_regression.outputs.is_regression }}" == "true" ]; then + gh issue edit ${{ github.event.issue.number }} --add-label "potential-regression" -R ${{ github.repository }} + else + gh issue edit ${{ github.event.issue.number }} --remove-label "potential-regression" -R ${{ github.repository }} + fi diff --git a/Include/sdk/_sdk-versions.json b/Include/sdk/_sdk-versions.json index 2241c38ae2..523d1a29b4 100644 --- a/Include/sdk/_sdk-versions.json +++ b/Include/sdk/_sdk-versions.json @@ -5,7 +5,7 @@ "CoreVersion" : "4.0.0.0", "OverrideCoreVersion" : "4.0", "DefaultToPreview" : true, - "PreviewLabel" : "preview.2", + "PreviewLabel" : "preview.4", "ServiceVersions" : { "CloudHSM" : { "Version" : "4.0.0.0", @@ -1339,14 +1339,6 @@ }, "InPreview" : false }, - "WorkLink" : { - "Version" : "4.0.0.0", - "AssemblyVersionOverride" : "4.0", - "Dependencies" : { - "Core" : "4.0.0.0" - }, - "InPreview" : false - }, "Textract" : { "Version" : "4.0.0.0", "AssemblyVersionOverride" : "4.0", @@ -3090,6 +3082,30 @@ "Core" : "4.0.0.0" }, "InPreview" : false + }, + "PCS" : { + "Version" : "4.0.0.0", + "AssemblyVersionOverride" : "4.0", + "Dependencies" : { + "Core" : "4.0.0.0" + }, + "InPreview" : false + }, + "DirectoryServiceData" : { + "Version" : "4.0.0.0", + "AssemblyVersionOverride" : "4.0", + "Dependencies" : { + "Core" : "4.0.0.0" + }, + "InPreview" : false + }, + "DynamoDBStreams" : { + "Version" : "4.0.0.0", + "AssemblyVersionOverride" : "4.0", + "Dependencies" : { + "Core" : "4.0.0.0" + }, + "InPreview" : false } }, "DefaultAssemblyVersion" : "4.0" diff --git a/buildtools/CopyModularAWSPowerShell.ps1 b/buildtools/CopyModularAWSPowerShell.ps1 index facc16c8d2..335f8d7831 100644 --- a/buildtools/CopyModularAWSPowerShell.ps1 +++ b/buildtools/CopyModularAWSPowerShell.ps1 @@ -54,7 +54,7 @@ Copy-Item -Path "$assembliesFolder/netstandard2.0/AWSSDK.Extensions.CrtIntegrati Copy-Item -Path "$rootFolder/LICENSE" -Destination "$modularDeploymentFolder/AWS.Tools.Common/LICENSE" Copy-Item -Path "$rootFolder/NOTICE" -Destination "$modularDeploymentFolder/AWS.Tools.Common/NOTICE" -$projectNameList = @('AccessAnalyzer', 'Account', 'ACMPCA', 'Amplify', 'AmplifyBackend', 'AmplifyUIBuilder', 'APIGateway', 'ApiGatewayManagementApi', 'ApiGatewayV2', 'AppConfig', 'AppConfigData', 'AppFabric', 'Appflow', 'AppIntegrationsService', 'ApplicationAutoScaling', 'ApplicationCostProfiler', 'ApplicationDiscoveryService', 'ApplicationInsights', 'ApplicationSignals', 'AppMesh', 'AppRegistry', 'AppRunner', 'AppStream', 'AppSync', 'AppTest', 'ARCZonalShift', 'Artifact', 'Athena', 'AuditManager', 'AugmentedAIRuntime', 'AutoScaling', 'AutoScalingPlans', 'AWSHealth', 'AWSMarketplaceCommerceAnalytics', 'AWSMarketplaceMetering', 'AWSSupport', 'B2bi', 'Backup', 'BackupGateway', 'Batch', 'BCMDataExports', 'Bedrock', 'BedrockAgent', 'BedrockAgentRuntime', 'BedrockRuntime', 'BillingConductor', 'Braket', 'Budgets', 'CertificateManager', 'Chatbot', 'Chime', 'ChimeSDKIdentity', 'ChimeSDKMediaPipelines', 'ChimeSDKMeetings', 'ChimeSDKMessaging', 'ChimeSDKVoice', 'CleanRooms', 'CleanRoomsML', 'Cloud9', 'CloudControlApi', 'CloudDirectory', 'CloudFormation', 'CloudFront', 'CloudFrontKeyValueStore', 'CloudHSMV2', 'CloudSearch', 'CloudSearchDomain', 'CloudTrail', 'CloudTrailData', 'CloudWatch', 'CloudWatchEvidently', 'CloudWatchLogs', 'CloudWatchRUM', 'CodeArtifact', 'CodeBuild', 'CodeCatalyst', 'CodeCommit', 'CodeConnections', 'CodeDeploy', 'CodeGuruProfiler', 'CodeGuruReviewer', 'CodeGuruSecurity', 'CodePipeline', 'CodeStarconnections', 'CodeStarNotifications', 'CognitoIdentity', 'CognitoIdentityProvider', 'CognitoSync', 'Comprehend', 'ComprehendMedical', 'ComputeOptimizer', 'ConfigService', 'Connect', 'ConnectCampaignService', 'ConnectCases', 'ConnectContactLens', 'ConnectParticipant', 'ConnectWisdomService', 'ControlCatalog', 'ControlTower', 'CostAndUsageReport', 'CostExplorer', 'CostOptimizationHub', 'CustomerProfiles', 'DatabaseMigrationService', 'DataExchange', 'DataPipeline', 'DataSync', 'DataZone', 'DAX', 'Deadline', 'Detective', 'DeviceFarm', 'DevOpsGuru', 'DirectConnect', 'DirectoryService', 'DLM', 'DocDB', 'DocDBElastic', 'Drs', 'DynamoDBv2', 'EBS', 'EC2', 'EC2InstanceConnect', 'ECR', 'ECRPublic', 'ECS', 'EKS', 'EKSAuth', 'ElastiCache', 'ElasticBeanstalk', 'ElasticFileSystem', 'ElasticInference', 'ElasticLoadBalancing', 'ElasticLoadBalancingV2', 'ElasticMapReduce', 'Elasticsearch', 'ElasticTranscoder', 'EMRContainers', 'EMRServerless', 'EntityResolution', 'EventBridge', 'Finspace', 'FinSpaceData', 'FIS', 'FMS', 'ForecastQueryService', 'ForecastService', 'FraudDetector', 'FreeTier', 'FSx', 'GameLift', 'Glacier', 'GlobalAccelerator', 'Glue', 'GlueDataBrew', 'Greengrass', 'GreengrassV2', 'GroundStation', 'GuardDuty', 'HealthLake', 'IAMRolesAnywhere', 'IdentityManagement', 'IdentityStore', 'Imagebuilder', 'ImportExport', 'Inspector', 'Inspector2', 'InspectorScan', 'InternetMonitor', 'IoT', 'IoTDeviceAdvisor', 'IoTEvents', 'IoTEventsData', 'IoTFleetHub', 'IoTFleetWise', 'IoTJobsDataPlane', 'IoTSecureTunneling', 'IoTSiteWise', 'IoTThingsGraph', 'IoTTwinMaker', 'IoTWireless', 'IVS', 'Ivschat', 'IVSRealTime', 'Kafka', 'KafkaConnect', 'Kendra', 'KendraRanking', 'KeyManagementService', 'Keyspaces', 'Kinesis', 'KinesisAnalyticsV2', 'KinesisFirehose', 'KinesisVideo', 'KinesisVideoMedia', 'KinesisVideoSignalingChannels', 'KinesisVideoWebRTCStorage', 'LakeFormation', 'Lambda', 'LaunchWizard', 'Lex', 'LexModelBuildingService', 'LexModelsV2', 'LexRuntimeV2', 'LicenseManager', 'LicenseManagerLinuxSubscriptions', 'LicenseManagerUserSubscriptions', 'Lightsail', 'LocationService', 'LookoutEquipment', 'LookoutforVision', 'LookoutMetrics', 'MachineLearning', 'Macie2', 'MailManager', 'MainframeModernization', 'ManagedBlockchain', 'ManagedBlockchainQuery', 'ManagedGrafana', 'MarketplaceAgreement', 'MarketplaceCatalog', 'MarketplaceDeployment', 'MarketplaceEntitlementService', 'MediaConnect', 'MediaConvert', 'MediaLive', 'MediaPackage', 'MediaPackageV2', 'MediaPackageVod', 'MediaStore', 'MediaStoreData', 'MediaTailor', 'MedicalImaging', 'MemoryDB', 'Mgn', 'MigrationHub', 'MigrationHubConfig', 'MigrationHubOrchestrator', 'MigrationHubRefactorSpaces', 'MigrationHubStrategyRecommendations', 'MQ', 'MTurk', 'MWAA', 'Neptune', 'Neptunedata', 'NeptuneGraph', 'NetworkFirewall', 'NetworkManager', 'NetworkMonitor', 'NimbleStudio', 'OAM', 'Omics', 'OpenSearchServerless', 'OpenSearchService', 'OpsWorks', 'OpsWorksCM', 'Organizations', 'OSIS', 'Outposts', 'Panorama', 'PaymentCryptography', 'PaymentCryptographyData', 'PcaConnectorAd', 'PcaConnectorScep', 'Personalize', 'PersonalizeEvents', 'PersonalizeRuntime', 'PI', 'Pinpoint', 'PinpointEmail', 'PinpointSMSVoiceV2', 'Pipes', 'Polly', 'Pricing', 'Private5G', 'PrometheusService', 'Proton', 'QApps', 'QBusiness', 'QConnect', 'QLDB', 'QLDBSession', 'QuickSight', 'RAM', 'RDS', 'RDSDataService', 'RecycleBin', 'Redshift', 'RedshiftDataAPIService', 'RedshiftServerless', 'Rekognition', 'Repostspace', 'ResilienceHub', 'ResourceExplorer2', 'ResourceGroups', 'ResourceGroupsTaggingAPI', 'RoboMaker', 'Route53', 'Route53Domains', 'Route53Profiles', 'Route53RecoveryCluster', 'Route53RecoveryControlConfig', 'Route53RecoveryReadiness', 'Route53Resolver', 'S3', 'S3Control', 'S3Outposts', 'SageMaker', 'SagemakerEdgeManager', 'SageMakerFeatureStoreRuntime', 'SageMakerGeospatial', 'SageMakerMetrics', 'SageMakerRuntime', 'SavingsPlans', 'Scheduler', 'Schemas', 'SecretsManager', 'SecurityHub', 'SecurityLake', 'SecurityToken', 'ServerlessApplicationRepository', 'ServerMigrationService', 'ServiceCatalog', 'ServiceDiscovery', 'ServiceQuotas', 'Shield', 'SimpleEmail', 'SimpleEmailV2', 'SimpleNotificationService', 'SimpleSystemsManagement', 'SimpleWorkflow', 'SimSpaceWeaver', 'Snowball', 'SnowDeviceManagement', 'SQS', 'SSMContacts', 'SSMIncidents', 'SSMQuickSetup', 'SsmSap', 'SSO', 'SSOAdmin', 'SSOOIDC', 'StepFunctions', 'StorageGateway', 'SupplyChain', 'SupportApp', 'Synthetics', 'TaxSettings', 'Textract', 'TimestreamInfluxDB', 'TimestreamQuery', 'TimestreamWrite', 'Tnb', 'TranscribeService', 'Transfer', 'Translate', 'TrustedAdvisor', 'VerifiedPermissions', 'VoiceID', 'VPCLattice', 'WAF', 'WAFRegional', 'WAFV2', 'WellArchitected', 'WorkDocs', 'WorkLink', 'WorkMail', 'WorkMailMessageFlow', 'WorkSpaces', 'WorkSpacesThinClient', 'WorkSpacesWeb', 'XRay') +$projectNameList = @('AccessAnalyzer', 'Account', 'ACMPCA', 'Amplify', 'AmplifyBackend', 'AmplifyUIBuilder', 'APIGateway', 'ApiGatewayManagementApi', 'ApiGatewayV2', 'AppConfig', 'AppConfigData', 'AppFabric', 'Appflow', 'AppIntegrationsService', 'ApplicationAutoScaling', 'ApplicationCostProfiler', 'ApplicationDiscoveryService', 'ApplicationInsights', 'ApplicationSignals', 'AppMesh', 'AppRegistry', 'AppRunner', 'AppStream', 'AppSync', 'AppTest', 'ARCZonalShift', 'Artifact', 'Athena', 'AuditManager', 'AugmentedAIRuntime', 'AutoScaling', 'AutoScalingPlans', 'AWSHealth', 'AWSMarketplaceCommerceAnalytics', 'AWSMarketplaceMetering', 'AWSSupport', 'B2bi', 'Backup', 'BackupGateway', 'Batch', 'BCMDataExports', 'Bedrock', 'BedrockAgent', 'BedrockAgentRuntime', 'BedrockRuntime', 'BillingConductor', 'Braket', 'Budgets', 'CertificateManager', 'Chatbot', 'Chime', 'ChimeSDKIdentity', 'ChimeSDKMediaPipelines', 'ChimeSDKMeetings', 'ChimeSDKMessaging', 'ChimeSDKVoice', 'CleanRooms', 'CleanRoomsML', 'Cloud9', 'CloudControlApi', 'CloudDirectory', 'CloudFormation', 'CloudFront', 'CloudFrontKeyValueStore', 'CloudHSMV2', 'CloudSearch', 'CloudSearchDomain', 'CloudTrail', 'CloudTrailData', 'CloudWatch', 'CloudWatchEvidently', 'CloudWatchLogs', 'CloudWatchRUM', 'CodeArtifact', 'CodeBuild', 'CodeCatalyst', 'CodeCommit', 'CodeConnections', 'CodeDeploy', 'CodeGuruProfiler', 'CodeGuruReviewer', 'CodeGuruSecurity', 'CodePipeline', 'CodeStarconnections', 'CodeStarNotifications', 'CognitoIdentity', 'CognitoIdentityProvider', 'CognitoSync', 'Comprehend', 'ComprehendMedical', 'ComputeOptimizer', 'ConfigService', 'Connect', 'ConnectCampaignService', 'ConnectCases', 'ConnectContactLens', 'ConnectParticipant', 'ConnectWisdomService', 'ControlCatalog', 'ControlTower', 'CostAndUsageReport', 'CostExplorer', 'CostOptimizationHub', 'CustomerProfiles', 'DatabaseMigrationService', 'DataExchange', 'DataPipeline', 'DataSync', 'DataZone', 'DAX', 'Deadline', 'Detective', 'DeviceFarm', 'DevOpsGuru', 'DirectConnect', 'DirectoryService', 'DirectoryServiceData', 'DLM', 'DocDB', 'DocDBElastic', 'Drs', 'DynamoDBv2', 'EBS', 'EC2', 'EC2InstanceConnect', 'ECR', 'ECRPublic', 'ECS', 'EKS', 'EKSAuth', 'ElastiCache', 'ElasticBeanstalk', 'ElasticFileSystem', 'ElasticInference', 'ElasticLoadBalancing', 'ElasticLoadBalancingV2', 'ElasticMapReduce', 'Elasticsearch', 'ElasticTranscoder', 'EMRContainers', 'EMRServerless', 'EntityResolution', 'EventBridge', 'Finspace', 'FinSpaceData', 'FIS', 'FMS', 'ForecastQueryService', 'ForecastService', 'FraudDetector', 'FreeTier', 'FSx', 'GameLift', 'Glacier', 'GlobalAccelerator', 'Glue', 'GlueDataBrew', 'Greengrass', 'GreengrassV2', 'GroundStation', 'GuardDuty', 'HealthLake', 'IAMRolesAnywhere', 'IdentityManagement', 'IdentityStore', 'Imagebuilder', 'ImportExport', 'Inspector', 'Inspector2', 'InspectorScan', 'InternetMonitor', 'IoT', 'IoTDeviceAdvisor', 'IoTEvents', 'IoTEventsData', 'IoTFleetHub', 'IoTFleetWise', 'IoTJobsDataPlane', 'IoTSecureTunneling', 'IoTSiteWise', 'IoTThingsGraph', 'IoTTwinMaker', 'IoTWireless', 'IVS', 'Ivschat', 'IVSRealTime', 'Kafka', 'KafkaConnect', 'Kendra', 'KendraRanking', 'KeyManagementService', 'Keyspaces', 'Kinesis', 'KinesisAnalyticsV2', 'KinesisFirehose', 'KinesisVideo', 'KinesisVideoMedia', 'KinesisVideoSignalingChannels', 'KinesisVideoWebRTCStorage', 'LakeFormation', 'Lambda', 'LaunchWizard', 'Lex', 'LexModelBuildingService', 'LexModelsV2', 'LexRuntimeV2', 'LicenseManager', 'LicenseManagerLinuxSubscriptions', 'LicenseManagerUserSubscriptions', 'Lightsail', 'LocationService', 'LookoutEquipment', 'LookoutforVision', 'LookoutMetrics', 'MachineLearning', 'Macie2', 'MailManager', 'MainframeModernization', 'ManagedBlockchain', 'ManagedBlockchainQuery', 'ManagedGrafana', 'MarketplaceAgreement', 'MarketplaceCatalog', 'MarketplaceDeployment', 'MarketplaceEntitlementService', 'MediaConnect', 'MediaConvert', 'MediaLive', 'MediaPackage', 'MediaPackageV2', 'MediaPackageVod', 'MediaStore', 'MediaStoreData', 'MediaTailor', 'MedicalImaging', 'MemoryDB', 'Mgn', 'MigrationHub', 'MigrationHubConfig', 'MigrationHubOrchestrator', 'MigrationHubRefactorSpaces', 'MigrationHubStrategyRecommendations', 'MQ', 'MTurk', 'MWAA', 'Neptune', 'Neptunedata', 'NeptuneGraph', 'NetworkFirewall', 'NetworkManager', 'NetworkMonitor', 'NimbleStudio', 'OAM', 'Omics', 'OpenSearchServerless', 'OpenSearchService', 'OpsWorks', 'OpsWorksCM', 'Organizations', 'OSIS', 'Outposts', 'Panorama', 'PaymentCryptography', 'PaymentCryptographyData', 'PcaConnectorAd', 'PcaConnectorScep', 'PCS', 'Personalize', 'PersonalizeEvents', 'PersonalizeRuntime', 'PI', 'Pinpoint', 'PinpointEmail', 'PinpointSMSVoiceV2', 'Pipes', 'Polly', 'Pricing', 'Private5G', 'PrometheusService', 'Proton', 'QApps', 'QBusiness', 'QConnect', 'QLDB', 'QLDBSession', 'QuickSight', 'RAM', 'RDS', 'RDSDataService', 'RecycleBin', 'Redshift', 'RedshiftDataAPIService', 'RedshiftServerless', 'Rekognition', 'Repostspace', 'ResilienceHub', 'ResourceExplorer2', 'ResourceGroups', 'ResourceGroupsTaggingAPI', 'RoboMaker', 'Route53', 'Route53Domains', 'Route53Profiles', 'Route53RecoveryCluster', 'Route53RecoveryControlConfig', 'Route53RecoveryReadiness', 'Route53Resolver', 'S3', 'S3Control', 'S3Outposts', 'SageMaker', 'SagemakerEdgeManager', 'SageMakerFeatureStoreRuntime', 'SageMakerGeospatial', 'SageMakerMetrics', 'SageMakerRuntime', 'SavingsPlans', 'Scheduler', 'Schemas', 'SecretsManager', 'SecurityHub', 'SecurityLake', 'SecurityToken', 'ServerlessApplicationRepository', 'ServerMigrationService', 'ServiceCatalog', 'ServiceDiscovery', 'ServiceQuotas', 'Shield', 'SimpleEmail', 'SimpleEmailV2', 'SimpleNotificationService', 'SimpleSystemsManagement', 'SimpleWorkflow', 'SimSpaceWeaver', 'Snowball', 'SnowDeviceManagement', 'SQS', 'SSMContacts', 'SSMIncidents', 'SSMQuickSetup', 'SsmSap', 'SSO', 'SSOAdmin', 'SSOOIDC', 'StepFunctions', 'StorageGateway', 'SupplyChain', 'SupportApp', 'Synthetics', 'TaxSettings', 'Textract', 'TimestreamInfluxDB', 'TimestreamQuery', 'TimestreamWrite', 'Tnb', 'TranscribeService', 'Transfer', 'Translate', 'TrustedAdvisor', 'VerifiedPermissions', 'VoiceID', 'VPCLattice', 'WAF', 'WAFRegional', 'WAFV2', 'WellArchitected', 'WorkDocs', 'WorkMail', 'WorkMailMessageFlow', 'WorkSpaces', 'WorkSpacesThinClient', 'WorkSpacesWeb', 'XRay') foreach ($project in $projectNameList) { diff --git a/changelogs/CHANGELOG.2024.md b/changelogs/CHANGELOG.2024.md index b7d1d520b6..14d1618ae0 100644 --- a/changelogs/CHANGELOG.2024.md +++ b/changelogs/CHANGELOG.2024.md @@ -1,4 +1,277 @@ -### 4.1.643 (2024-08-26 20:50Z) +### 4.1.666 (2024-09-27 21:23Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.894.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * [Breaking Change] Removed support for Amazon WorkLink + * Amazon Connect Customer Profiles + * Modified cmdlet Write-CPFIntegration: added parameter RoleArn. + * Amazon QuickSight + * Added cmdlet Get-QSQPersonalizationConfiguration leveraging the DescribeQPersonalizationConfiguration service API. + * Added cmdlet Update-QSQPersonalizationConfiguration leveraging the UpdateQPersonalizationConfiguration service API. + * Amazon Simple Email Service V2 (SES V2) + * Modified cmdlet New-SES2ConfigurationSet: added parameter TrackingOptions_HttpsPolicy. + * Modified cmdlet Write-SES2ConfigurationSetTrackingOption: added parameter HttpsPolicy. + +### 4.1.665 (2024-09-26 21:08Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.893.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * LM + * [Breaking Change] Removed cmdlets Get-LMPublicAccessBlockConfig, Get-LMResourcePolicy, Remove-LMResourcePolicy, Write-LMPublicAccessBlockConfig and Write-LMResourcePolicy. + * Amazon SageMaker Service + * Modified cmdlet New-SMDomain: added parameter TagPropagation. + * Modified cmdlet Update-SMDomain: added parameter TagPropagation. + * Amazon Simple Storage Service (S3) + * Modified cmdlet Copy-S3Object: added parameter RequestPayer. + * Modified cmdlet Remove-S3Object: added parameter RequestPayer. + * Modified cmdlet Write-S3Object: added parameter RequestPayer. + +### 4.1.664 (2024-09-25 21:09Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.892.1 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + +### 4.1.663 (2024-09-24 21:41Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.892.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Kinesis + * Modified cmdlet New-KINStream: added parameter Tag. + * Amazon Pinpoint SMS Voice V2 + * Added cmdlet Get-SMSVResourcePolicy leveraging the GetResourcePolicy service API. + * Added cmdlet Remove-SMSVResourcePolicy leveraging the DeleteResourcePolicy service API. + * Added cmdlet Write-SMSVResourcePolicy leveraging the PutResourcePolicy service API. + * Modified cmdlet Get-SMSVOptOutList: added parameter Owner. + * Modified cmdlet Get-SMSVPhoneNumber: added parameter Owner. + * Modified cmdlet Get-SMSVPool: added parameter Owner. + * Modified cmdlet Get-SMSVSenderId: added parameter Owner. + +### 4.1.662 (2024-09-23 21:02Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.891.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon EMR Serverless + * Modified cmdlet New-EMRServerlessApplication: added parameters SchedulerConfiguration_MaxConcurrentRun and SchedulerConfiguration_QueueTimeoutMinute. + * Modified cmdlet Update-EMRServerlessApplication: added parameters SchedulerConfiguration_MaxConcurrentRun and SchedulerConfiguration_QueueTimeoutMinute. + * Amazon Relational Database Service + * Modified cmdlet Edit-RDSDBShardGroup: added parameter ComputeRedundancy. + * Amazon Resource Explorer + * Added cmdlet Get-AREXResourceList leveraging the ListResources service API. + +### 4.1.661 (2024-09-21 01:29Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.890.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon SageMaker Metrics Service + * Added cmdlet Get-SMMMetric leveraging the BatchGetMetrics service API. + +### 4.1.660 (2024-09-19 20:58Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.889.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CodeConnections + * Modified cmdlet New-CCONSyncConfiguration: added parameter PullRequestComment. + * Modified cmdlet Update-CCONSyncConfiguration: added parameter PullRequestComment. + * Amazon Glue + * Added cmdlet Test-GLUEConnection leveraging the TestConnection service API. + * Amazon Lambda + * Modified cmdlet New-LMCodeSigningConfig: added parameter Tag. + * Modified cmdlet New-LMEventSourceMapping: added parameter Tag. + * Amazon QuickSight + * Added cmdlet Get-QSFoldersForResourceList leveraging the ListFoldersForResource service API. + * Amazon WorkSpaces Web + * Added cmdlet Get-WSWSession leveraging the GetSession service API. + * Added cmdlet Get-WSWSessionList leveraging the ListSessions service API. + * Added cmdlet Revoke-WSWSession leveraging the ExpireSession service API. + +### 4.1.659 (2024-09-18 20:57Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.888.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Directory Service + * Added cmdlet Disable-DSDirectoryDataAccess leveraging the DisableDirectoryDataAccess service API. + * Added cmdlet Enable-DSDirectoryDataAccess leveraging the EnableDirectoryDataAccess service API. + * Added cmdlet Get-DSDirectoryDataAccess leveraging the DescribeDirectoryDataAccess service API. + * Amazon Directory Service Data. Added cmdlets to support the service. Cmdlets for the service have the noun prefix DSD and can be listed using the command 'Get-AWSCmdletName -Service DSD'. + * Amazon Simple Storage Service (S3) + * Modified cmdlet New-S3Session: added parameters BucketKeyEnabled, ServerSideEncryption, SSEKMSEncryptionContext and SSEKMSKeyId. + +### 4.1.658 (2024-09-17 20:46Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.887.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Lambda + * Added cmdlet Get-LMPublicAccessBlockConfig leveraging the GetPublicAccessBlockConfig service API. + * Added cmdlet Get-LMResourcePolicy leveraging the GetResourcePolicy service API. + * Added cmdlet Remove-LMResourcePolicy leveraging the DeleteResourcePolicy service API. + * Added cmdlet Write-LMPublicAccessBlockConfig leveraging the PutPublicAccessBlockConfig service API. + * Added cmdlet Write-LMResourcePolicy leveraging the PutResourcePolicy service API. + * Amazon Systems Manager + * Modified cmdlet Start-SSMAutomationExecution: added parameter TargetLocationsURL. + +### 4.1.657 (2024-09-16 21:33Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.886.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Bedrock + * Modified cmdlet New-BDRModelInvocationJob: added parameters S3InputDataConfig_S3BucketOwner, S3OutputDataConfig_S3BucketOwner, VpcConfig_SecurityGroupId and VpcConfig_SubnetId. + * Amazon IoT + * Added cmdlet Add-IOTSbomWithPackageVersion leveraging the AssociateSbomWithPackageVersion service API. + * Added cmdlet Get-IOTSbomValidationResultList leveraging the ListSbomValidationResults service API. + * Added cmdlet Remove-IOTSbomFromPackageVersion leveraging the DisassociateSbomFromPackageVersion service API. + * Modified cmdlet Get-IOTJob: added parameter BeforeSubstitution. + * Modified cmdlet Get-IOTJobDocument: added parameter BeforeSubstitution. + * Modified cmdlet New-IOTPackageVersion: added parameters Recipe, S3Location_Bucket, S3Location_Key and S3Location_Version. + * Modified cmdlet Update-IOTPackageVersion: added parameters Recipe, S3Location_Bucket, S3Location_Key and S3Location_Version. + * Amazon Relational Database Service + * Modified cmdlet New-RDSGlobalCluster: added parameter Tag. + +### 4.1.656 (2024-09-13 20:53Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.885.1 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + +### 4.1.655 (2024-09-12 21:08Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.885.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Synthetics + * Modified cmdlet New-CWSYNCanary: added parameter ResourcesToReplicateTag. + * Amazon Cognito Identity Provider + * Modified cmdlet Set-CGIPUserMFAPreference: added parameters EmailMfaSettings_Enabled and EmailMfaSettings_PreferredMfa. + * Modified cmdlet Set-CGIPUserMFAPreferenceAdmin: added parameters EmailMfaSettings_Enabled and EmailMfaSettings_PreferredMfa. + * Modified cmdlet Set-CGIPUserPoolMfaConfig: added parameters EmailMfaConfiguration_Message and EmailMfaConfiguration_Subject. + * Amazon Elastic MapReduce + * Modified cmdlet Add-EMRInstanceFleet: added parameters InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference, InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn, InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy, OnDemandResizeSpecification_AllocationStrategy and SpotResizeSpecification_AllocationStrategy. + * Modified cmdlet Edit-EMRInstanceFleet: added parameters CapacityReservationOptions_CapacityReservationPreference, CapacityReservationOptions_CapacityReservationResourceGroupArn, CapacityReservationOptions_UsageStrategy, InstanceFleet_InstanceTypeConfig, OnDemandResizeSpecification_AllocationStrategy and SpotResizeSpecification_AllocationStrategy. + * Amazon Elemental MediaConvert + * Added cmdlet Get-EMCVersionList leveraging the ListVersions service API. + * Modified cmdlet New-EMCJob: added parameter JobEngineVersion. + * Amazon Glue + * Modified cmdlet New-GLUETableOptimizer: added parameters IcebergConfiguration_CleanExpiredFile, IcebergConfiguration_Location, IcebergConfiguration_NumberOfSnapshotsToRetain, IcebergConfiguration_OrphanFileRetentionPeriodInDay and IcebergConfiguration_SnapshotRetentionPeriodInDay. + * Modified cmdlet Update-GLUETableOptimizer: added parameters IcebergConfiguration_CleanExpiredFile, IcebergConfiguration_Location, IcebergConfiguration_NumberOfSnapshotsToRetain, IcebergConfiguration_OrphanFileRetentionPeriodInDay and IcebergConfiguration_SnapshotRetentionPeriodInDay. + * Amazon Storage Gateway + * Modified cmdlet New-SGNFSFileShare: added parameter EncryptionType. + * Modified cmdlet New-SGSMBFileShare: added parameter EncryptionType. + * Modified cmdlet Update-SGNFSFileShare: added parameter EncryptionType. + * Modified cmdlet Update-SGSMBFileShare: added parameter EncryptionType. + +### 4.1.654 (2024-09-11 21:07Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.884.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Elemental MediaLive + * Added cmdlet Get-EMLChannelPlacementGroup leveraging the DescribeChannelPlacementGroup service API. + * Added cmdlet Get-EMLChannelPlacementGroupList leveraging the ListChannelPlacementGroups service API. + * Added cmdlet Get-EMLCluster leveraging the DescribeCluster service API. + * Added cmdlet Get-EMLClusterList leveraging the ListClusters service API. + * Added cmdlet Get-EMLNetwork leveraging the DescribeNetwork service API. + * Added cmdlet Get-EMLNetworkList leveraging the ListNetworks service API. + * Added cmdlet Get-EMLNode leveraging the DescribeNode service API. + * Added cmdlet Get-EMLNodeList leveraging the ListNodes service API. + * Added cmdlet New-EMLChannelPlacementGroup leveraging the CreateChannelPlacementGroup service API. + * Added cmdlet New-EMLCluster leveraging the CreateCluster service API. + * Added cmdlet New-EMLNetwork leveraging the CreateNetwork service API. + * Added cmdlet New-EMLNode leveraging the CreateNode service API. + * Added cmdlet New-EMLNodeRegistrationScript leveraging the CreateNodeRegistrationScript service API. + * Added cmdlet Remove-EMLChannelPlacementGroup leveraging the DeleteChannelPlacementGroup service API. + * Added cmdlet Remove-EMLCluster leveraging the DeleteCluster service API. + * Added cmdlet Remove-EMLNetwork leveraging the DeleteNetwork service API. + * Added cmdlet Remove-EMLNode leveraging the DeleteNode service API. + * Added cmdlet Update-EMLChannelPlacementGroup leveraging the UpdateChannelPlacementGroup service API. + * Added cmdlet Update-EMLCluster leveraging the UpdateCluster service API. + * Added cmdlet Update-EMLNetwork leveraging the UpdateNetwork service API. + * Added cmdlet Update-EMLNode leveraging the UpdateNode service API. + * Added cmdlet Update-EMLNodeState leveraging the UpdateNodeState service API. + * Modified cmdlet New-EMLChannel: added parameters AnywhereSettings_ChannelPlacementGroupId and AnywhereSettings_ClusterId. + * Modified cmdlet New-EMLInput: added parameters InputNetworkLocation and MulticastSettings_Source. + * Modified cmdlet Update-EMLInput: added parameter MulticastSettings_Source. + * Amazon GuardDuty + * Modified cmdlet Get-GDFindingStatistic: added parameters GroupBy, MaxResult and OrderBy. + +### 4.1.653 (2024-09-10 20:54Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.883.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon EventBridge Pipes + * Modified cmdlet New-PIPESPipe: added parameter KmsKeyIdentifier. + * Modified cmdlet Update-PIPESPipe: added parameter KmsKeyIdentifier. + +### 4.1.652 (2024-09-09 21:12Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.882.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Interactive Video Service RealTime + * Added cmdlet Get-IVSRTIngestConfiguration leveraging the GetIngestConfiguration service API. + * Added cmdlet Get-IVSRTIngestConfigurationList leveraging the ListIngestConfigurations service API. + * Added cmdlet New-IVSRTIngestConfiguration leveraging the CreateIngestConfiguration service API. + * Added cmdlet Remove-IVSRTIngestConfiguration leveraging the DeleteIngestConfiguration service API. + * Added cmdlet Update-IVSRTIngestConfiguration leveraging the UpdateIngestConfiguration service API. + * Amazon SageMaker Runtime + * Modified cmdlet Invoke-SMREndpoint: added parameter SessionId. + * Modified cmdlet Invoke-SMREndpointWithResponseStream: added parameter SessionId. + * Amazon SageMaker Service + * Modified cmdlet New-SMCluster: added parameters Eks_ClusterArn and NodeRecovery. + * Modified cmdlet Update-SMCluster: added parameter NodeRecovery. + +### 4.1.651 (2024-09-06 20:53Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.881.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Q Apps + * Added cmdlet Update-qappsLibraryItemMetadata leveraging the UpdateLibraryItemMetadata service API. + +### 4.1.650 (2024-09-05 21:00Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.880.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Application Signals + * Modified cmdlet New-CWASServiceLevelObjective: added parameters MonitoredRequestCountMetric_BadCountMetric, MonitoredRequestCountMetric_GoodCountMetric, RequestBasedSliConfig_ComparisonOperator, RequestBasedSliConfig_MetricThreshold, RequestBasedSliMetricConfig_KeyAttribute, RequestBasedSliMetricConfig_MetricType, RequestBasedSliMetricConfig_OperationName and RequestBasedSliMetricConfig_TotalRequestCountMetric. + * Modified cmdlet Update-CWASServiceLevelObjective: added parameters MonitoredRequestCountMetric_BadCountMetric, MonitoredRequestCountMetric_GoodCountMetric, RequestBasedSliConfig_ComparisonOperator, RequestBasedSliConfig_MetricThreshold, RequestBasedSliMetricConfig_KeyAttribute, RequestBasedSliMetricConfig_MetricType, RequestBasedSliMetricConfig_OperationName and RequestBasedSliMetricConfig_TotalRequestCountMetric. + * Amazon SageMaker Service + * Modified cmdlet New-SMDomain: added parameters IdleSettings_IdleTimeoutInMinute, IdleSettings_LifecycleManagement, IdleSettings_MaxIdleTimeoutInMinute and IdleSettings_MinIdleTimeoutInMinute. + * Modified cmdlet New-SMSpace: added parameters SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes and SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes. + * Modified cmdlet Update-SMDomain: added parameters IdleSettings_IdleTimeoutInMinute, IdleSettings_LifecycleManagement, IdleSettings_MaxIdleTimeoutInMinute and IdleSettings_MinIdleTimeoutInMinute. + * Modified cmdlet Update-SMSpace: added parameters SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes and SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes. + +### 4.1.649 (2024-09-04 21:09Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.879.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Logs + * Added cmdlet Find-CWLConfigurationTemplate leveraging the DescribeConfigurationTemplates service API. + * Added cmdlet Update-CWLDeliveryConfiguration leveraging the UpdateDeliveryConfiguration service API. + * Modified cmdlet New-CWLDelivery: added parameters FieldDelimiter, RecordField, S3DeliveryConfiguration_EnableHiveCompatiblePath and S3DeliveryConfiguration_SuffixPath. + * Amazon Fault Injection Simulator + * Added cmdlet Get-FISSafetyLever leveraging the GetSafetyLever service API. + * Added cmdlet Update-FISSafetyLeverState leveraging the UpdateSafetyLeverState service API. + * Amazon S3 Control + * Added cmdlet Get-S3CCallerAccessGrantList leveraging the ListCallerAccessGrants service API. + +### 4.1.648 (2024-09-03 20:50Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.878.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon DataZone + * Modified cmdlet Approve-DZSubscriptionRequest: added parameter AssetScope. + * Amazon Elastic Load Balancing V2 + * Added cmdlet Edit-ELB2ListenerAttribute leveraging the ModifyListenerAttributes service API. + * Added cmdlet Get-ELB2ListenerAttribute leveraging the DescribeListenerAttributes service API. + * Amazon Elemental MediaConnect + * Added cmdlet Get-EMCNFlowSourceThumbnail leveraging the DescribeFlowSourceThumbnail service API. + * Modified cmdlet New-EMCNFlow: added parameter SourceMonitoringConfig_ThumbnailState. + * Modified cmdlet Update-EMCNFlow: added parameter SourceMonitoringConfig_ThumbnailState. + * Amazon Timestream InfluxDB + * Modified cmdlet Update-TIDBDbInstance: added parameters DbInstanceType and DeploymentType. + +### 4.1.647 (2024-08-30 21:13Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.877.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Logs + * Modified cmdlet Write-CWLLogEvent: added parameters Entity_Attribute and Entity_KeyAttribute. + * Amazon DataZone + * Added cmdlet Add-DZEntityOwner leveraging the AddEntityOwner service API. + * Added cmdlet Add-DZPolicyGrant leveraging the AddPolicyGrant service API. + * Added cmdlet Get-DZDomainUnit leveraging the GetDomainUnit service API. + * Added cmdlet Get-DZDomainUnitsForParentList leveraging the ListDomainUnitsForParent service API. + * Added cmdlet Get-DZEntityOwnerList leveraging the ListEntityOwners service API. + * Added cmdlet Get-DZPolicyGrantList leveraging the ListPolicyGrants service API. + * Added cmdlet New-DZDomainUnit leveraging the CreateDomainUnit service API. + * Added cmdlet Remove-DZDomainUnit leveraging the DeleteDomainUnit service API. + * Added cmdlet Remove-DZEntityOwner leveraging the RemoveEntityOwner service API. + * Added cmdlet Remove-DZPolicyGrant leveraging the RemovePolicyGrant service API. + * Added cmdlet Update-DZDomainUnit leveraging the UpdateDomainUnit service API. + * Modified cmdlet New-DZProject: added parameter DomainUnitId. + * Amazon Redshift Data API Service + * Modified cmdlet Push-RSDBatchStatement: added parameters SessionId and SessionKeepAliveSecond. + * Modified cmdlet Send-RSDStatement: added parameters SessionId and SessionKeepAliveSecond. + +### 4.1.646 (2024-08-29 21:52Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.876.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Personalize + * Added cmdlet Update-PERSSolution leveraging the UpdateSolution service API. + * Amazon Step Functions + * Modified cmdlet Test-SFNStateMachineDefinitionValidation: added parameters MaxResult and Severity. + +### 4.1.645 (2024-08-28 20:47Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.875.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon AppConfig + * Added cmdlet Get-APPCAccountSetting leveraging the GetAccountSettings service API. + * Added cmdlet Update-APPCAccountSetting leveraging the UpdateAccountSettings service API. + * Modified cmdlet Remove-APPCConfigurationProfile: added parameter DeletionProtectionCheck. + * Modified cmdlet Remove-APPCEnvironment: added parameter DeletionProtectionCheck. + * Amazon Elastic Compute Cloud (EC2) + * Modified cmdlet New-EC2Address: added parameter IpamPoolId. + * Amazon Parallel Computing Service. Added cmdlets to support the service. Cmdlets for the service have the noun prefix PCS and can be listed using the command 'Get-AWSCmdletName -Service PCS'. + +### 4.1.644 (2024-08-27 20:59Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.874.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Bedrock + * Added cmdlet Get-BDRInferenceProfile leveraging the GetInferenceProfile service API. + * Added cmdlet Get-BDRInferenceProfileList leveraging the ListInferenceProfiles service API. + +### 4.1.643 (2024-08-26 20:50Z) * AWS Tools for PowerShell now use AWS .NET SDK 3.7.873.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. * Amazon IoT SiteWise * Modified cmdlet Get-IOTSWAssetModel: added parameter AssetModelVersion. diff --git a/changelogs/CHANGELOG.ALL.md b/changelogs/CHANGELOG.ALL.md index fe3270b9d8..d3c33110ba 100644 --- a/changelogs/CHANGELOG.ALL.md +++ b/changelogs/CHANGELOG.ALL.md @@ -1,4 +1,277 @@ -### 4.1.643 (2024-08-26 20:50Z) +### 4.1.666 (2024-09-27 21:23Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.894.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * [Breaking Change] Removed support for Amazon WorkLink + * Amazon Connect Customer Profiles + * Modified cmdlet Write-CPFIntegration: added parameter RoleArn. + * Amazon QuickSight + * Added cmdlet Get-QSQPersonalizationConfiguration leveraging the DescribeQPersonalizationConfiguration service API. + * Added cmdlet Update-QSQPersonalizationConfiguration leveraging the UpdateQPersonalizationConfiguration service API. + * Amazon Simple Email Service V2 (SES V2) + * Modified cmdlet New-SES2ConfigurationSet: added parameter TrackingOptions_HttpsPolicy. + * Modified cmdlet Write-SES2ConfigurationSetTrackingOption: added parameter HttpsPolicy. + +### 4.1.665 (2024-09-26 21:08Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.893.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * LM + * [Breaking Change] Removed cmdlets Get-LMPublicAccessBlockConfig, Get-LMResourcePolicy, Remove-LMResourcePolicy, Write-LMPublicAccessBlockConfig and Write-LMResourcePolicy. + * Amazon SageMaker Service + * Modified cmdlet New-SMDomain: added parameter TagPropagation. + * Modified cmdlet Update-SMDomain: added parameter TagPropagation. + * Amazon Simple Storage Service (S3) + * Modified cmdlet Copy-S3Object: added parameter RequestPayer. + * Modified cmdlet Remove-S3Object: added parameter RequestPayer. + * Modified cmdlet Write-S3Object: added parameter RequestPayer. + +### 4.1.664 (2024-09-25 21:09Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.892.1 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + +### 4.1.663 (2024-09-24 21:41Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.892.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Kinesis + * Modified cmdlet New-KINStream: added parameter Tag. + * Amazon Pinpoint SMS Voice V2 + * Added cmdlet Get-SMSVResourcePolicy leveraging the GetResourcePolicy service API. + * Added cmdlet Remove-SMSVResourcePolicy leveraging the DeleteResourcePolicy service API. + * Added cmdlet Write-SMSVResourcePolicy leveraging the PutResourcePolicy service API. + * Modified cmdlet Get-SMSVOptOutList: added parameter Owner. + * Modified cmdlet Get-SMSVPhoneNumber: added parameter Owner. + * Modified cmdlet Get-SMSVPool: added parameter Owner. + * Modified cmdlet Get-SMSVSenderId: added parameter Owner. + +### 4.1.662 (2024-09-23 21:02Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.891.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon EMR Serverless + * Modified cmdlet New-EMRServerlessApplication: added parameters SchedulerConfiguration_MaxConcurrentRun and SchedulerConfiguration_QueueTimeoutMinute. + * Modified cmdlet Update-EMRServerlessApplication: added parameters SchedulerConfiguration_MaxConcurrentRun and SchedulerConfiguration_QueueTimeoutMinute. + * Amazon Relational Database Service + * Modified cmdlet Edit-RDSDBShardGroup: added parameter ComputeRedundancy. + * Amazon Resource Explorer + * Added cmdlet Get-AREXResourceList leveraging the ListResources service API. + +### 4.1.661 (2024-09-21 01:29Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.890.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon SageMaker Metrics Service + * Added cmdlet Get-SMMMetric leveraging the BatchGetMetrics service API. + +### 4.1.660 (2024-09-19 20:58Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.889.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CodeConnections + * Modified cmdlet New-CCONSyncConfiguration: added parameter PullRequestComment. + * Modified cmdlet Update-CCONSyncConfiguration: added parameter PullRequestComment. + * Amazon Glue + * Added cmdlet Test-GLUEConnection leveraging the TestConnection service API. + * Amazon Lambda + * Modified cmdlet New-LMCodeSigningConfig: added parameter Tag. + * Modified cmdlet New-LMEventSourceMapping: added parameter Tag. + * Amazon QuickSight + * Added cmdlet Get-QSFoldersForResourceList leveraging the ListFoldersForResource service API. + * Amazon WorkSpaces Web + * Added cmdlet Get-WSWSession leveraging the GetSession service API. + * Added cmdlet Get-WSWSessionList leveraging the ListSessions service API. + * Added cmdlet Revoke-WSWSession leveraging the ExpireSession service API. + +### 4.1.659 (2024-09-18 20:57Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.888.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Directory Service + * Added cmdlet Disable-DSDirectoryDataAccess leveraging the DisableDirectoryDataAccess service API. + * Added cmdlet Enable-DSDirectoryDataAccess leveraging the EnableDirectoryDataAccess service API. + * Added cmdlet Get-DSDirectoryDataAccess leveraging the DescribeDirectoryDataAccess service API. + * Amazon Directory Service Data. Added cmdlets to support the service. Cmdlets for the service have the noun prefix DSD and can be listed using the command 'Get-AWSCmdletName -Service DSD'. + * Amazon Simple Storage Service (S3) + * Modified cmdlet New-S3Session: added parameters BucketKeyEnabled, ServerSideEncryption, SSEKMSEncryptionContext and SSEKMSKeyId. + +### 4.1.658 (2024-09-17 20:46Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.887.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Lambda + * Added cmdlet Get-LMPublicAccessBlockConfig leveraging the GetPublicAccessBlockConfig service API. + * Added cmdlet Get-LMResourcePolicy leveraging the GetResourcePolicy service API. + * Added cmdlet Remove-LMResourcePolicy leveraging the DeleteResourcePolicy service API. + * Added cmdlet Write-LMPublicAccessBlockConfig leveraging the PutPublicAccessBlockConfig service API. + * Added cmdlet Write-LMResourcePolicy leveraging the PutResourcePolicy service API. + * Amazon Systems Manager + * Modified cmdlet Start-SSMAutomationExecution: added parameter TargetLocationsURL. + +### 4.1.657 (2024-09-16 21:33Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.886.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Bedrock + * Modified cmdlet New-BDRModelInvocationJob: added parameters S3InputDataConfig_S3BucketOwner, S3OutputDataConfig_S3BucketOwner, VpcConfig_SecurityGroupId and VpcConfig_SubnetId. + * Amazon IoT + * Added cmdlet Add-IOTSbomWithPackageVersion leveraging the AssociateSbomWithPackageVersion service API. + * Added cmdlet Get-IOTSbomValidationResultList leveraging the ListSbomValidationResults service API. + * Added cmdlet Remove-IOTSbomFromPackageVersion leveraging the DisassociateSbomFromPackageVersion service API. + * Modified cmdlet Get-IOTJob: added parameter BeforeSubstitution. + * Modified cmdlet Get-IOTJobDocument: added parameter BeforeSubstitution. + * Modified cmdlet New-IOTPackageVersion: added parameters Recipe, S3Location_Bucket, S3Location_Key and S3Location_Version. + * Modified cmdlet Update-IOTPackageVersion: added parameters Recipe, S3Location_Bucket, S3Location_Key and S3Location_Version. + * Amazon Relational Database Service + * Modified cmdlet New-RDSGlobalCluster: added parameter Tag. + +### 4.1.656 (2024-09-13 20:53Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.885.1 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + +### 4.1.655 (2024-09-12 21:08Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.885.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Synthetics + * Modified cmdlet New-CWSYNCanary: added parameter ResourcesToReplicateTag. + * Amazon Cognito Identity Provider + * Modified cmdlet Set-CGIPUserMFAPreference: added parameters EmailMfaSettings_Enabled and EmailMfaSettings_PreferredMfa. + * Modified cmdlet Set-CGIPUserMFAPreferenceAdmin: added parameters EmailMfaSettings_Enabled and EmailMfaSettings_PreferredMfa. + * Modified cmdlet Set-CGIPUserPoolMfaConfig: added parameters EmailMfaConfiguration_Message and EmailMfaConfiguration_Subject. + * Amazon Elastic MapReduce + * Modified cmdlet Add-EMRInstanceFleet: added parameters InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference, InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn, InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy, OnDemandResizeSpecification_AllocationStrategy and SpotResizeSpecification_AllocationStrategy. + * Modified cmdlet Edit-EMRInstanceFleet: added parameters CapacityReservationOptions_CapacityReservationPreference, CapacityReservationOptions_CapacityReservationResourceGroupArn, CapacityReservationOptions_UsageStrategy, InstanceFleet_InstanceTypeConfig, OnDemandResizeSpecification_AllocationStrategy and SpotResizeSpecification_AllocationStrategy. + * Amazon Elemental MediaConvert + * Added cmdlet Get-EMCVersionList leveraging the ListVersions service API. + * Modified cmdlet New-EMCJob: added parameter JobEngineVersion. + * Amazon Glue + * Modified cmdlet New-GLUETableOptimizer: added parameters IcebergConfiguration_CleanExpiredFile, IcebergConfiguration_Location, IcebergConfiguration_NumberOfSnapshotsToRetain, IcebergConfiguration_OrphanFileRetentionPeriodInDay and IcebergConfiguration_SnapshotRetentionPeriodInDay. + * Modified cmdlet Update-GLUETableOptimizer: added parameters IcebergConfiguration_CleanExpiredFile, IcebergConfiguration_Location, IcebergConfiguration_NumberOfSnapshotsToRetain, IcebergConfiguration_OrphanFileRetentionPeriodInDay and IcebergConfiguration_SnapshotRetentionPeriodInDay. + * Amazon Storage Gateway + * Modified cmdlet New-SGNFSFileShare: added parameter EncryptionType. + * Modified cmdlet New-SGSMBFileShare: added parameter EncryptionType. + * Modified cmdlet Update-SGNFSFileShare: added parameter EncryptionType. + * Modified cmdlet Update-SGSMBFileShare: added parameter EncryptionType. + +### 4.1.654 (2024-09-11 21:07Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.884.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Elemental MediaLive + * Added cmdlet Get-EMLChannelPlacementGroup leveraging the DescribeChannelPlacementGroup service API. + * Added cmdlet Get-EMLChannelPlacementGroupList leveraging the ListChannelPlacementGroups service API. + * Added cmdlet Get-EMLCluster leveraging the DescribeCluster service API. + * Added cmdlet Get-EMLClusterList leveraging the ListClusters service API. + * Added cmdlet Get-EMLNetwork leveraging the DescribeNetwork service API. + * Added cmdlet Get-EMLNetworkList leveraging the ListNetworks service API. + * Added cmdlet Get-EMLNode leveraging the DescribeNode service API. + * Added cmdlet Get-EMLNodeList leveraging the ListNodes service API. + * Added cmdlet New-EMLChannelPlacementGroup leveraging the CreateChannelPlacementGroup service API. + * Added cmdlet New-EMLCluster leveraging the CreateCluster service API. + * Added cmdlet New-EMLNetwork leveraging the CreateNetwork service API. + * Added cmdlet New-EMLNode leveraging the CreateNode service API. + * Added cmdlet New-EMLNodeRegistrationScript leveraging the CreateNodeRegistrationScript service API. + * Added cmdlet Remove-EMLChannelPlacementGroup leveraging the DeleteChannelPlacementGroup service API. + * Added cmdlet Remove-EMLCluster leveraging the DeleteCluster service API. + * Added cmdlet Remove-EMLNetwork leveraging the DeleteNetwork service API. + * Added cmdlet Remove-EMLNode leveraging the DeleteNode service API. + * Added cmdlet Update-EMLChannelPlacementGroup leveraging the UpdateChannelPlacementGroup service API. + * Added cmdlet Update-EMLCluster leveraging the UpdateCluster service API. + * Added cmdlet Update-EMLNetwork leveraging the UpdateNetwork service API. + * Added cmdlet Update-EMLNode leveraging the UpdateNode service API. + * Added cmdlet Update-EMLNodeState leveraging the UpdateNodeState service API. + * Modified cmdlet New-EMLChannel: added parameters AnywhereSettings_ChannelPlacementGroupId and AnywhereSettings_ClusterId. + * Modified cmdlet New-EMLInput: added parameters InputNetworkLocation and MulticastSettings_Source. + * Modified cmdlet Update-EMLInput: added parameter MulticastSettings_Source. + * Amazon GuardDuty + * Modified cmdlet Get-GDFindingStatistic: added parameters GroupBy, MaxResult and OrderBy. + +### 4.1.653 (2024-09-10 20:54Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.883.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon EventBridge Pipes + * Modified cmdlet New-PIPESPipe: added parameter KmsKeyIdentifier. + * Modified cmdlet Update-PIPESPipe: added parameter KmsKeyIdentifier. + +### 4.1.652 (2024-09-09 21:12Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.882.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Interactive Video Service RealTime + * Added cmdlet Get-IVSRTIngestConfiguration leveraging the GetIngestConfiguration service API. + * Added cmdlet Get-IVSRTIngestConfigurationList leveraging the ListIngestConfigurations service API. + * Added cmdlet New-IVSRTIngestConfiguration leveraging the CreateIngestConfiguration service API. + * Added cmdlet Remove-IVSRTIngestConfiguration leveraging the DeleteIngestConfiguration service API. + * Added cmdlet Update-IVSRTIngestConfiguration leveraging the UpdateIngestConfiguration service API. + * Amazon SageMaker Runtime + * Modified cmdlet Invoke-SMREndpoint: added parameter SessionId. + * Modified cmdlet Invoke-SMREndpointWithResponseStream: added parameter SessionId. + * Amazon SageMaker Service + * Modified cmdlet New-SMCluster: added parameters Eks_ClusterArn and NodeRecovery. + * Modified cmdlet Update-SMCluster: added parameter NodeRecovery. + +### 4.1.651 (2024-09-06 20:53Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.881.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Q Apps + * Added cmdlet Update-qappsLibraryItemMetadata leveraging the UpdateLibraryItemMetadata service API. + +### 4.1.650 (2024-09-05 21:00Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.880.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Application Signals + * Modified cmdlet New-CWASServiceLevelObjective: added parameters MonitoredRequestCountMetric_BadCountMetric, MonitoredRequestCountMetric_GoodCountMetric, RequestBasedSliConfig_ComparisonOperator, RequestBasedSliConfig_MetricThreshold, RequestBasedSliMetricConfig_KeyAttribute, RequestBasedSliMetricConfig_MetricType, RequestBasedSliMetricConfig_OperationName and RequestBasedSliMetricConfig_TotalRequestCountMetric. + * Modified cmdlet Update-CWASServiceLevelObjective: added parameters MonitoredRequestCountMetric_BadCountMetric, MonitoredRequestCountMetric_GoodCountMetric, RequestBasedSliConfig_ComparisonOperator, RequestBasedSliConfig_MetricThreshold, RequestBasedSliMetricConfig_KeyAttribute, RequestBasedSliMetricConfig_MetricType, RequestBasedSliMetricConfig_OperationName and RequestBasedSliMetricConfig_TotalRequestCountMetric. + * Amazon SageMaker Service + * Modified cmdlet New-SMDomain: added parameters IdleSettings_IdleTimeoutInMinute, IdleSettings_LifecycleManagement, IdleSettings_MaxIdleTimeoutInMinute and IdleSettings_MinIdleTimeoutInMinute. + * Modified cmdlet New-SMSpace: added parameters SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes and SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes. + * Modified cmdlet Update-SMDomain: added parameters IdleSettings_IdleTimeoutInMinute, IdleSettings_LifecycleManagement, IdleSettings_MaxIdleTimeoutInMinute and IdleSettings_MinIdleTimeoutInMinute. + * Modified cmdlet Update-SMSpace: added parameters SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes and SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes. + +### 4.1.649 (2024-09-04 21:09Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.879.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Logs + * Added cmdlet Find-CWLConfigurationTemplate leveraging the DescribeConfigurationTemplates service API. + * Added cmdlet Update-CWLDeliveryConfiguration leveraging the UpdateDeliveryConfiguration service API. + * Modified cmdlet New-CWLDelivery: added parameters FieldDelimiter, RecordField, S3DeliveryConfiguration_EnableHiveCompatiblePath and S3DeliveryConfiguration_SuffixPath. + * Amazon Fault Injection Simulator + * Added cmdlet Get-FISSafetyLever leveraging the GetSafetyLever service API. + * Added cmdlet Update-FISSafetyLeverState leveraging the UpdateSafetyLeverState service API. + * Amazon S3 Control + * Added cmdlet Get-S3CCallerAccessGrantList leveraging the ListCallerAccessGrants service API. + +### 4.1.648 (2024-09-03 20:50Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.878.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon DataZone + * Modified cmdlet Approve-DZSubscriptionRequest: added parameter AssetScope. + * Amazon Elastic Load Balancing V2 + * Added cmdlet Edit-ELB2ListenerAttribute leveraging the ModifyListenerAttributes service API. + * Added cmdlet Get-ELB2ListenerAttribute leveraging the DescribeListenerAttributes service API. + * Amazon Elemental MediaConnect + * Added cmdlet Get-EMCNFlowSourceThumbnail leveraging the DescribeFlowSourceThumbnail service API. + * Modified cmdlet New-EMCNFlow: added parameter SourceMonitoringConfig_ThumbnailState. + * Modified cmdlet Update-EMCNFlow: added parameter SourceMonitoringConfig_ThumbnailState. + * Amazon Timestream InfluxDB + * Modified cmdlet Update-TIDBDbInstance: added parameters DbInstanceType and DeploymentType. + +### 4.1.647 (2024-08-30 21:13Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.877.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon CloudWatch Logs + * Modified cmdlet Write-CWLLogEvent: added parameters Entity_Attribute and Entity_KeyAttribute. + * Amazon DataZone + * Added cmdlet Add-DZEntityOwner leveraging the AddEntityOwner service API. + * Added cmdlet Add-DZPolicyGrant leveraging the AddPolicyGrant service API. + * Added cmdlet Get-DZDomainUnit leveraging the GetDomainUnit service API. + * Added cmdlet Get-DZDomainUnitsForParentList leveraging the ListDomainUnitsForParent service API. + * Added cmdlet Get-DZEntityOwnerList leveraging the ListEntityOwners service API. + * Added cmdlet Get-DZPolicyGrantList leveraging the ListPolicyGrants service API. + * Added cmdlet New-DZDomainUnit leveraging the CreateDomainUnit service API. + * Added cmdlet Remove-DZDomainUnit leveraging the DeleteDomainUnit service API. + * Added cmdlet Remove-DZEntityOwner leveraging the RemoveEntityOwner service API. + * Added cmdlet Remove-DZPolicyGrant leveraging the RemovePolicyGrant service API. + * Added cmdlet Update-DZDomainUnit leveraging the UpdateDomainUnit service API. + * Modified cmdlet New-DZProject: added parameter DomainUnitId. + * Amazon Redshift Data API Service + * Modified cmdlet Push-RSDBatchStatement: added parameters SessionId and SessionKeepAliveSecond. + * Modified cmdlet Send-RSDStatement: added parameters SessionId and SessionKeepAliveSecond. + +### 4.1.646 (2024-08-29 21:52Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.876.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Personalize + * Added cmdlet Update-PERSSolution leveraging the UpdateSolution service API. + * Amazon Step Functions + * Modified cmdlet Test-SFNStateMachineDefinitionValidation: added parameters MaxResult and Severity. + +### 4.1.645 (2024-08-28 20:47Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.875.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon AppConfig + * Added cmdlet Get-APPCAccountSetting leveraging the GetAccountSettings service API. + * Added cmdlet Update-APPCAccountSetting leveraging the UpdateAccountSettings service API. + * Modified cmdlet Remove-APPCConfigurationProfile: added parameter DeletionProtectionCheck. + * Modified cmdlet Remove-APPCEnvironment: added parameter DeletionProtectionCheck. + * Amazon Elastic Compute Cloud (EC2) + * Modified cmdlet New-EC2Address: added parameter IpamPoolId. + * Amazon Parallel Computing Service. Added cmdlets to support the service. Cmdlets for the service have the noun prefix PCS and can be listed using the command 'Get-AWSCmdletName -Service PCS'. + +### 4.1.644 (2024-08-27 20:59Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.874.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Bedrock + * Added cmdlet Get-BDRInferenceProfile leveraging the GetInferenceProfile service API. + * Added cmdlet Get-BDRInferenceProfileList leveraging the ListInferenceProfiles service API. + +### 4.1.643 (2024-08-26 20:50Z) * AWS Tools for PowerShell now use AWS .NET SDK 3.7.873.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/main/changelogs/SDK.CHANGELOG.ALL.md. * Amazon IoT SiteWise * Modified cmdlet Get-IOTSWAssetModel: added parameter AssetModelVersion. diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/appconfig.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/appconfig.xml index 948fb664a0..1f8d4f9e42 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/appconfig.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/appconfig.xml @@ -75,6 +75,10 @@ + + + + @@ -163,6 +167,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/athena.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/athena.xml index afb1f3baba..2d21d57b04 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/athena.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/athena.xml @@ -39,7 +39,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/bedrock.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/bedrock.xml index 52c4860203..e792c68e3c 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/bedrock.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/bedrock.xml @@ -95,6 +95,10 @@ + + + + @@ -139,6 +143,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/datazone.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/datazone.xml index ddfe1bc4fa..5048a2990b 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/datazone.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/datazone.xml @@ -27,6 +27,14 @@ + + + + + + + + @@ -71,6 +79,10 @@ + + + + @@ -151,6 +163,10 @@ + + + + @@ -239,6 +255,10 @@ + + + + @@ -351,6 +371,14 @@ + + + + + + + + @@ -387,6 +415,10 @@ + + + + @@ -439,6 +471,14 @@ + + + + + + + + @@ -491,6 +531,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/directoryservicedata.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/directoryservicedata.xml new file mode 100644 index 0000000000..cc3f2406c0 --- /dev/null +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/directoryservicedata.xml @@ -0,0 +1,92 @@ + + + 0 + false + directoryservicedata + DirectoryServiceData + DSD + AWS Directory Service Data + IAmazonDirectoryServiceData + AmazonDirectoryServiceDataClient + 95855647-29cd-48d6-b080-597544221b27 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/ds.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/ds.xml index 12182b3b68..c54bf0f944 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/ds.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/ds.xml @@ -119,6 +119,10 @@ + + + + @@ -159,6 +163,10 @@ + + + + @@ -175,6 +183,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticloadbalancingv2.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticloadbalancingv2.xml index 3e04281577..c5d26f33c5 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticloadbalancingv2.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticloadbalancingv2.xml @@ -92,6 +92,10 @@ + + + + @@ -160,6 +164,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticmapreduce.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticmapreduce.xml index 082ebe2909..b966c9c558 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticmapreduce.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/elasticmapreduce.xml @@ -28,7 +28,14 @@ - + + + + + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/fis.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/fis.xml index ed50bebffb..bc8b60f511 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/fis.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/fis.xml @@ -51,6 +51,10 @@ + + + + @@ -111,6 +115,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/glue.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/glue.xml index dde3cab13b..9e78c3afd1 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/glue.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/glue.xml @@ -69,7 +69,7 @@ - + @@ -829,6 +829,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/iot.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/iot.xml index 71dae99f57..4e0d9588eb 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/iot.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/iot.xml @@ -46,6 +46,10 @@ + + + + @@ -533,6 +537,10 @@ + + + + @@ -802,6 +810,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/ivs-realtime.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/ivs-realtime.xml index 165343a7af..6ad5eaa663 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/ivs-realtime.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/ivs-realtime.xml @@ -23,6 +23,10 @@ + + + + @@ -39,6 +43,12 @@ + + + + + + @@ -63,6 +73,10 @@ + + + + @@ -95,6 +109,10 @@ + + + + @@ -139,6 +157,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/logs.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/logs.xml index 8ef20a4467..cce33028a2 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/logs.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/logs.xml @@ -113,6 +113,10 @@ + + + + @@ -317,6 +321,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconnect.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconnect.xml index 3f647b310b..11f17c0505 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconnect.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconnect.xml @@ -90,6 +90,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconvert.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconvert.xml index c859b74550..7ab393a5e8 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconvert.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/mediaconvert.xml @@ -111,6 +111,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/medialive.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/medialive.xml index a0697c33c4..7a9d986356 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/medialive.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/medialive.xml @@ -51,6 +51,10 @@ + + + + @@ -59,6 +63,10 @@ + + + + @@ -83,6 +91,18 @@ + + + + + + + + + + + + @@ -99,6 +119,10 @@ + + + + @@ -107,6 +131,10 @@ + + + + @@ -131,6 +159,14 @@ + + + + + + + + @@ -155,6 +191,14 @@ + + + + + + + + @@ -179,6 +223,14 @@ + + + + + + + + @@ -215,6 +267,10 @@ + + + + @@ -227,6 +283,10 @@ + + + + @@ -259,6 +319,14 @@ + + + + + + + + @@ -349,6 +417,10 @@ + + + + @@ -357,6 +429,10 @@ + + + + @@ -394,6 +470,18 @@ + + + + + + + + + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/pcs.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/pcs.xml new file mode 100644 index 0000000000..bff0a095bd --- /dev/null +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/pcs.xml @@ -0,0 +1,95 @@ + + + 0 + false + pcs + PCS + PCS + AWS Parallel Computing Service + IAmazonPCS + AmazonPCSClient + 92c95590-099f-452e-abfe-d88d89a395c6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/personalize.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/personalize.xml index 5ac1ee17f0..34d0dde3c1 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/personalize.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/personalize.xml @@ -299,6 +299,10 @@ + + + + \ No newline at end of file diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/pinpoint-sms-voice-v2.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/pinpoint-sms-voice-v2.xml index 6ded722f0d..7747322a9d 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/pinpoint-sms-voice-v2.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/pinpoint-sms-voice-v2.xml @@ -123,6 +123,10 @@ + + + + @@ -227,6 +231,10 @@ + + + + @@ -251,6 +259,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/qapps.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/qapps.xml index f63462cc71..906d7c0f39 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/qapps.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/qapps.xml @@ -102,6 +102,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/quicksight.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/quicksight.xml index 365159c9f9..3133795510 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/quicksight.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/quicksight.xml @@ -347,6 +347,10 @@ + + + + @@ -415,9 +419,9 @@ - + @@ -466,6 +470,10 @@ + + + + @@ -699,6 +707,10 @@ Amazon.QuickSight.Model.UpdatePublicSharingSettingsResponse + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/resource-explorer-2.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/resource-explorer-2.xml index 97721dc494..0f8e1b02c6 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/resource-explorer-2.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/resource-explorer-2.xml @@ -72,6 +72,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/s3control.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/s3control.xml index 00977ed1f7..71f0f1296f 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/s3control.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/s3control.xml @@ -301,6 +301,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker-metrics.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker-metrics.xml index b95a982fcd..6c516678ae 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker-metrics.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker-metrics.xml @@ -18,6 +18,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker.xml index f7f18058e6..ac60ac430f 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/sagemaker.xml @@ -342,6 +342,8 @@ + + @@ -1481,6 +1483,8 @@ + + diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/worklink.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/worklink.xml deleted file mode 100644 index 4ca9c7f552..0000000000 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/worklink.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - 0 - false - worklink - WorkLink - WL - Amazon WorkLink - IAmazonWorkLink - AmazonWorkLinkClient - 2df4f089-9e90-464d-8dd9-c7e17ba85504 - FleetArn - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/workspaces-web.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/workspaces-web.xml index 937b7111df..dca84df15b 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/workspaces-web.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/workspaces-web.xml @@ -130,6 +130,10 @@ + + + + @@ -154,6 +158,10 @@ + + + + @@ -190,6 +198,10 @@ + + + + diff --git a/generator/AWSPSGeneratorLib/HelpMaterials/WebHelp/StaticContent/package.redirects.conf b/generator/AWSPSGeneratorLib/HelpMaterials/WebHelp/StaticContent/package.redirects.conf index 3926d0a7ff..346d546f93 100644 --- a/generator/AWSPSGeneratorLib/HelpMaterials/WebHelp/StaticContent/package.redirects.conf +++ b/generator/AWSPSGeneratorLib/HelpMaterials/WebHelp/StaticContent/package.redirects.conf @@ -3,7 +3,6 @@ RewriteRule ^/powershell/latest/reference/items/Shell_Configuration_cmdlets.html RewriteRule ^/powershell/latest/reference/items/AWS_X-Ray_cmdlets.html /powershell/latest/reference/items/XRay_cmdlets.html [L,R] RewriteRule ^/powershell/latest/reference/items/Amazon_WorkSpaces_cmdlets.html /powershell/latest/reference/items/WorkSpaces_cmdlets.html [L,R] RewriteRule ^/powershell/latest/reference/items/Amazon_WorkMail_cmdlets.html /powershell/latest/reference/items/WorkMail_cmdlets.html [L,R] -RewriteRule ^/powershell/latest/reference/items/Amazon_WorkLink_cmdlets.html /powershell/latest/reference/items/WorkLink_cmdlets.html [L,R] RewriteRule ^/powershell/latest/reference/items/Amazon_WorkDocs_cmdlets.html /powershell/latest/reference/items/WorkDocs_cmdlets.html [L,R] RewriteRule ^/powershell/latest/reference/items/AWS_WAF_cmdlets.html /powershell/latest/reference/items/WAF_cmdlets.html [L,R] RewriteRule ^/powershell/latest/reference/items/AWS_WAF_Regional_cmdlets.html /powershell/latest/reference/items/WAFRegional_cmdlets.html [L,R] diff --git a/generator/AWSPSGeneratorLib/Utils/GenerationSources.cs b/generator/AWSPSGeneratorLib/Utils/GenerationSources.cs index 2849b3a018..3cbc383ff3 100644 --- a/generator/AWSPSGeneratorLib/Utils/GenerationSources.cs +++ b/generator/AWSPSGeneratorLib/Utils/GenerationSources.cs @@ -172,7 +172,7 @@ public static IEnumerable SDKFindAssemblyFilenames(string SdkAssembliesF var distinctAssemblyFilenames = foundNetFrameworkSdkFilenames.Union(foundNetstandard20SdkFilenames) .Where(name => !name.StartsWith("Extensions.", StringComparison.OrdinalIgnoreCase) && !name.Equals("Core", StringComparison.OrdinalIgnoreCase) - && !name.Equals("CodeStar", StringComparison.OrdinalIgnoreCase)); + && !name.Equals("Worklink", StringComparison.OrdinalIgnoreCase)); return distinctAssemblyFilenames; } diff --git a/generator/AWSPSGeneratorLib/Writers/SourceCode/CmdletServiceClientWriter.cs b/generator/AWSPSGeneratorLib/Writers/SourceCode/CmdletServiceClientWriter.cs index b9996a848b..2dae265416 100644 --- a/generator/AWSPSGeneratorLib/Writers/SourceCode/CmdletServiceClientWriter.cs +++ b/generator/AWSPSGeneratorLib/Writers/SourceCode/CmdletServiceClientWriter.cs @@ -139,6 +139,15 @@ private static void WriteServiceCmdletClass(IndentedTextWriter writer, } writer.CloseRegion(); writer.WriteLine(); + writer.WriteLine("protected override void BeginProcessing()"); + writer.OpenRegion(); + { + writer.WriteLine("base.AWSServiceId = {0}.ServiceId.ToString();", serviceConfig.ServiceClientConfig); + writer.WriteLine(); + writer.WriteLine("base.BeginProcessing();"); + } + writer.CloseRegion(); + writer.WriteLine(); writer.WriteLine("protected override void ProcessRecord()"); writer.OpenRegion(); { diff --git a/modules/AWSPowerShell/AWSAliases.ps1 b/modules/AWSPowerShell/AWSAliases.ps1 index d2ff818b9f..2b8be9acae 100644 --- a/modules/AWSPowerShell/AWSAliases.ps1 +++ b/modules/AWSPowerShell/AWSAliases.ps1 @@ -655,6 +655,8 @@ Set-Alias -Name Delete-APPCExtension -Value Remove-APPCExtension Set-Alias -Name APPC-DeleteExtension -Value Remove-APPCExtension Set-Alias -Name Delete-APPCHostedConfigurationVersion -Value Remove-APPCHostedConfigurationVersion Set-Alias -Name APPC-DeleteHostedConfigurationVersion -Value Remove-APPCHostedConfigurationVersion +Set-Alias -Name Get-APPCAccountSettings -Value Get-APPCAccountSetting +Set-Alias -Name APPC-GetAccountSettings -Value Get-APPCAccountSetting Set-Alias -Name APPC-GetApplication -Value Get-APPCApplication Set-Alias -Name APPC-GetConfiguration -Value Get-APPCConfiguration Set-Alias -Name APPC-GetConfigurationProfile -Value Get-APPCConfigurationProfile @@ -693,6 +695,8 @@ Set-Alias -Name APPC-StartDeployment -Value Start-APPCDeployment Set-Alias -Name APPC-StopDeployment -Value Stop-APPCDeployment Set-Alias -Name APPC-TagResource -Value Add-APPCResourceTag Set-Alias -Name APPC-UntagResource -Value Remove-APPCResourceTag +Set-Alias -Name Update-APPCAccountSettings -Value Update-APPCAccountSetting +Set-Alias -Name APPC-UpdateAccountSettings -Value Update-APPCAccountSetting Set-Alias -Name APPC-UpdateApplication -Value Update-APPCApplication Set-Alias -Name APPC-UpdateConfigurationProfile -Value Update-APPCConfigurationProfile Set-Alias -Name APPC-UpdateDeploymentStrategy -Value Update-APPCDeploymentStrategy @@ -2335,6 +2339,7 @@ Set-Alias -Name BDR-GetEvaluationJob -Value Get-BDREvaluationJob Set-Alias -Name BDR-GetFoundationModel -Value Get-BDRFoundationModel Set-Alias -Name BDR-GetGuardrail -Value Get-BDRGuardrail Set-Alias -Name BDR-GetImportedModel -Value Get-BDRImportedModel +Set-Alias -Name BDR-GetInferenceProfile -Value Get-BDRInferenceProfile Set-Alias -Name BDR-GetModelCopyJob -Value Get-BDRModelCopyJob Set-Alias -Name BDR-GetModelCustomizationJob -Value Get-BDRModelCustomizationJob Set-Alias -Name BDR-GetModelImportJob -Value Get-BDRModelImportJob @@ -2356,6 +2361,9 @@ Set-Alias -Name BDR-ListGuardrails -Value Get-BDRGuardrailList Set-Alias -Name List-BDRImportedModels -Value Get-BDRImportedModelList Set-Alias -Name List-BDRImportedModelList -Value Get-BDRImportedModelList Set-Alias -Name BDR-ListImportedModels -Value Get-BDRImportedModelList +Set-Alias -Name List-BDRInferenceProfiles -Value Get-BDRInferenceProfileList +Set-Alias -Name List-BDRInferenceProfileList -Value Get-BDRInferenceProfileList +Set-Alias -Name BDR-ListInferenceProfiles -Value Get-BDRInferenceProfileList Set-Alias -Name List-BDRModelCopyJobs -Value Get-BDRModelCopyJobList Set-Alias -Name List-BDRModelCopyJobList -Value Get-BDRModelCopyJobList Set-Alias -Name BDR-ListModelCopyJobs -Value Get-BDRModelCopyJobList @@ -7201,6 +7209,8 @@ Set-Alias -Name Accept-DZPrediction -Value Approve-DZPrediction Set-Alias -Name DZ-AcceptPredictions -Value Approve-DZPrediction Set-Alias -Name Accept-DZSubscriptionRequest -Value Approve-DZSubscriptionRequest Set-Alias -Name DZ-AcceptSubscriptionRequest -Value Approve-DZSubscriptionRequest +Set-Alias -Name DZ-AddEntityOwner -Value Add-DZEntityOwner +Set-Alias -Name DZ-AddPolicyGrant -Value Add-DZPolicyGrant Set-Alias -Name Associate-DZEnvironmentRole -Value Set-DZEnvironmentRole Set-Alias -Name DZ-AssociateEnvironmentRole -Value Set-DZEnvironmentRole Set-Alias -Name Cancel-DZMetadataGenerationRun -Value Stop-DZMetadataGenerationRun @@ -7223,6 +7233,8 @@ Set-Alias -Name Create-DZDataSource -Value New-DZDataSource Set-Alias -Name DZ-CreateDataSource -Value New-DZDataSource Set-Alias -Name Create-DZDomain -Value New-DZDomain Set-Alias -Name DZ-CreateDomain -Value New-DZDomain +Set-Alias -Name Create-DZDomainUnit -Value New-DZDomainUnit +Set-Alias -Name DZ-CreateDomainUnit -Value New-DZDomainUnit Set-Alias -Name Create-DZEnvironmentAction -Value New-DZEnvironmentAction Set-Alias -Name DZ-CreateEnvironmentAction -Value New-DZEnvironmentAction Set-Alias -Name Create-DZEnvironment -Value New-DZEnvironment @@ -7263,6 +7275,8 @@ Set-Alias -Name Delete-DZDataSource -Value Remove-DZDataSource Set-Alias -Name DZ-DeleteDataSource -Value Remove-DZDataSource Set-Alias -Name Delete-DZDomain -Value Remove-DZDomain Set-Alias -Name DZ-DeleteDomain -Value Remove-DZDomain +Set-Alias -Name Delete-DZDomainUnit -Value Remove-DZDomainUnit +Set-Alias -Name DZ-DeleteDomainUnit -Value Remove-DZDomainUnit Set-Alias -Name Delete-DZEnvironmentAction -Value Remove-DZEnvironmentAction Set-Alias -Name DZ-DeleteEnvironmentAction -Value Remove-DZEnvironmentAction Set-Alias -Name Delete-DZEnvironment -Value Remove-DZEnvironment @@ -7301,6 +7315,7 @@ Set-Alias -Name DZ-GetDataProduct -Value Get-DZDataProduct Set-Alias -Name DZ-GetDataSource -Value Get-DZDataSource Set-Alias -Name DZ-GetDataSourceRun -Value Get-DZDataSourceRun Set-Alias -Name DZ-GetDomain -Value Get-DZDomain +Set-Alias -Name DZ-GetDomainUnit -Value Get-DZDomainUnit Set-Alias -Name DZ-GetEnvironmentAction -Value Get-DZEnvironmentAction Set-Alias -Name DZ-GetEnvironment -Value Get-DZEnvironment Set-Alias -Name DZ-GetEnvironmentBlueprint -Value Get-DZEnvironmentBlueprint @@ -7345,6 +7360,12 @@ Set-Alias -Name DZ-ListDataSources -Value Get-DZDataSourceList Set-Alias -Name List-DZDomains -Value Get-DZDomainList Set-Alias -Name List-DZDomainList -Value Get-DZDomainList Set-Alias -Name DZ-ListDomains -Value Get-DZDomainList +Set-Alias -Name List-DZDomainUnitsForParent -Value Get-DZDomainUnitsForParentList +Set-Alias -Name List-DZDomainUnitsForParentList -Value Get-DZDomainUnitsForParentList +Set-Alias -Name DZ-ListDomainUnitsForParent -Value Get-DZDomainUnitsForParentList +Set-Alias -Name List-DZEntityOwners -Value Get-DZEntityOwnerList +Set-Alias -Name List-DZEntityOwnerList -Value Get-DZEntityOwnerList +Set-Alias -Name DZ-ListEntityOwners -Value Get-DZEntityOwnerList Set-Alias -Name List-DZEnvironmentActions -Value Get-DZEnvironmentActionList Set-Alias -Name List-DZEnvironmentActionList -Value Get-DZEnvironmentActionList Set-Alias -Name DZ-ListEnvironmentActions -Value Get-DZEnvironmentActionList @@ -7369,6 +7390,9 @@ Set-Alias -Name DZ-ListMetadataGenerationRuns -Value Get-DZMetadataGenerationRun Set-Alias -Name List-DZNotifications -Value Get-DZNotificationList Set-Alias -Name List-DZNotificationList -Value Get-DZNotificationList Set-Alias -Name DZ-ListNotifications -Value Get-DZNotificationList +Set-Alias -Name List-DZPolicyGrants -Value Get-DZPolicyGrantList +Set-Alias -Name List-DZPolicyGrantList -Value Get-DZPolicyGrantList +Set-Alias -Name DZ-ListPolicyGrants -Value Get-DZPolicyGrantList Set-Alias -Name List-DZProjectMemberships -Value Get-DZProjectMembershipList Set-Alias -Name List-DZProjectMembershipList -Value Get-DZProjectMembershipList Set-Alias -Name DZ-ListProjectMemberships -Value Get-DZProjectMembershipList @@ -7403,6 +7427,8 @@ Set-Alias -Name Reject-DZPrediction -Value Deny-DZPrediction Set-Alias -Name DZ-RejectPredictions -Value Deny-DZPrediction Set-Alias -Name Reject-DZSubscriptionRequest -Value Deny-DZSubscriptionRequest Set-Alias -Name DZ-RejectSubscriptionRequest -Value Deny-DZSubscriptionRequest +Set-Alias -Name DZ-RemoveEntityOwner -Value Remove-DZEntityOwner +Set-Alias -Name DZ-RemovePolicyGrant -Value Remove-DZPolicyGrant Set-Alias -Name DZ-RevokeSubscription -Value Revoke-DZSubscription Set-Alias -Name Search-DZ -Value Search-DZResource Set-Alias -Name DZ-Search -Value Search-DZResource @@ -7421,6 +7447,7 @@ Set-Alias -Name DZ-UntagResource -Value Remove-DZResourceTag Set-Alias -Name DZ-UpdateAssetFilter -Value Update-DZAssetFilter Set-Alias -Name DZ-UpdateDataSource -Value Update-DZDataSource Set-Alias -Name DZ-UpdateDomain -Value Update-DZDomain +Set-Alias -Name DZ-UpdateDomainUnit -Value Update-DZDomainUnit Set-Alias -Name DZ-UpdateEnvironmentAction -Value Update-DZEnvironmentAction Set-Alias -Name DZ-UpdateEnvironment -Value Update-DZEnvironment Set-Alias -Name DZ-UpdateEnvironmentProfile -Value Update-DZEnvironmentProfile @@ -8070,6 +8097,39 @@ Set-Alias -Name DC-UpdateDirectConnectGateway -Value Update-DCDirectConnectGatew Set-Alias -Name DC-UpdateLag -Value Update-DCLag Set-Alias -Name Update-DCVirtualInterfaceAttributes -Value Update-DCVirtualInterfaceAttribute Set-Alias -Name DC-UpdateVirtualInterfaceAttributes -Value Update-DCVirtualInterfaceAttribute +Set-Alias -Name DSD-AddGroupMember -Value Add-DSDGroupMember +Set-Alias -Name Create-DSDGroup -Value New-DSDGroup +Set-Alias -Name DSD-CreateGroup -Value New-DSDGroup +Set-Alias -Name Create-DSDUser -Value New-DSDUser +Set-Alias -Name DSD-CreateUser -Value New-DSDUser +Set-Alias -Name Delete-DSDGroup -Value Remove-DSDGroup +Set-Alias -Name DSD-DeleteGroup -Value Remove-DSDGroup +Set-Alias -Name Delete-DSDUser -Value Remove-DSDUser +Set-Alias -Name DSD-DeleteUser -Value Remove-DSDUser +Set-Alias -Name Describe-DSDGroup -Value Get-DSDGroup +Set-Alias -Name DSD-DescribeGroup -Value Get-DSDGroup +Set-Alias -Name Describe-DSDUser -Value Get-DSDUser +Set-Alias -Name DSD-DescribeUser -Value Get-DSDUser +Set-Alias -Name DSD-DisableUser -Value Disable-DSDUser +Set-Alias -Name List-DSDGroupMembers -Value Get-DSDGroupMemberList +Set-Alias -Name List-DSDGroupMemberList -Value Get-DSDGroupMemberList +Set-Alias -Name DSD-ListGroupMembers -Value Get-DSDGroupMemberList +Set-Alias -Name List-DSDGroups -Value Get-DSDGroupList +Set-Alias -Name List-DSDGroupList -Value Get-DSDGroupList +Set-Alias -Name DSD-ListGroups -Value Get-DSDGroupList +Set-Alias -Name List-DSDGroupsForMember -Value Get-DSDGroupsForMemberList +Set-Alias -Name List-DSDGroupsForMemberList -Value Get-DSDGroupsForMemberList +Set-Alias -Name DSD-ListGroupsForMember -Value Get-DSDGroupsForMemberList +Set-Alias -Name List-DSDUsers -Value Get-DSDUserList +Set-Alias -Name List-DSDUserList -Value Get-DSDUserList +Set-Alias -Name DSD-ListUsers -Value Get-DSDUserList +Set-Alias -Name DSD-RemoveGroupMember -Value Remove-DSDGroupMember +Set-Alias -Name Search-DSDGroups -Value Search-DSDGroup +Set-Alias -Name DSD-SearchGroups -Value Search-DSDGroup +Set-Alias -Name Search-DSDUsers -Value Search-DSDUser +Set-Alias -Name DSD-SearchUsers -Value Search-DSDUser +Set-Alias -Name DSD-UpdateGroup -Value Update-DSDGroup +Set-Alias -Name DSD-UpdateUser -Value Update-DSDUser Set-Alias -Name Associate-ADSConfigurationItemsToApplication -Value Add-ADSConfigurationItemsToApplication Set-Alias -Name ADS-AssociateConfigurationItemsToApplication -Value Add-ADSConfigurationItemsToApplication Set-Alias -Name Batch-ADSDeleteAgents -Value Remove-ADSBatchAgent @@ -8665,6 +8725,8 @@ Set-Alias -Name DS-DescribeConditionalForwarders -Value Get-DSConditionalForward Set-Alias -Name Describe-DSDirectories -Value Get-DSDirectory Set-Alias -Name Describe-DSDirectory -Value Get-DSDirectory Set-Alias -Name DS-DescribeDirectories -Value Get-DSDirectory +Set-Alias -Name Describe-DSDirectoryDataAccess -Value Get-DSDirectoryDataAccess +Set-Alias -Name DS-DescribeDirectoryDataAccess -Value Get-DSDirectoryDataAccess Set-Alias -Name Describe-DSDomainControllers -Value Get-DSDomainControllerList Set-Alias -Name Describe-DSDomainControllerList -Value Get-DSDomainControllerList Set-Alias -Name DS-DescribeDomainControllers -Value Get-DSDomainControllerList @@ -8692,10 +8754,12 @@ Set-Alias -Name DS-DescribeTrusts -Value Get-DSTrust Set-Alias -Name Describe-DSUpdateDirectory -Value Get-DSUpdateDirectory Set-Alias -Name DS-DescribeUpdateDirectory -Value Get-DSUpdateDirectory Set-Alias -Name DS-DisableClientAuthentication -Value Disable-DSClientAuthentication +Set-Alias -Name DS-DisableDirectoryDataAccess -Value Disable-DSDirectoryDataAccess Set-Alias -Name DS-DisableLDAPS -Value Disable-DSLDAPS Set-Alias -Name DS-DisableRadius -Value Disable-DSRadius Set-Alias -Name DS-DisableSso -Value Disable-DSSso Set-Alias -Name DS-EnableClientAuthentication -Value Enable-DSClientAuthentication +Set-Alias -Name DS-EnableDirectoryDataAccess -Value Enable-DSDirectoryDataAccess Set-Alias -Name DS-EnableLDAPS -Value Enable-DSLDAPS Set-Alias -Name DS-EnableRadius -Value Enable-DSRadius Set-Alias -Name DS-EnableSso -Value Enable-DSSso @@ -11034,6 +11098,9 @@ Set-Alias -Name ELB2-DeregisterTargets -Value Unregister-ELB2Target Set-Alias -Name Describe-ELB2AccountLimits -Value Get-ELB2AccountLimit Set-Alias -Name Describe-ELB2AccountLimit -Value Get-ELB2AccountLimit Set-Alias -Name ELB2-DescribeAccountLimits -Value Get-ELB2AccountLimit +Set-Alias -Name Describe-ELB2ListenerAttributes -Value Get-ELB2ListenerAttribute +Set-Alias -Name Describe-ELB2ListenerAttribute -Value Get-ELB2ListenerAttribute +Set-Alias -Name ELB2-DescribeListenerAttributes -Value Get-ELB2ListenerAttribute Set-Alias -Name Describe-ELB2ListenerCertificates -Value Get-ELB2ListenerCertificate Set-Alias -Name Describe-ELB2ListenerCertificate -Value Get-ELB2ListenerCertificate Set-Alias -Name ELB2-DescribeListenerCertificates -Value Get-ELB2ListenerCertificate @@ -11077,6 +11144,9 @@ Set-Alias -Name ELB2-GetTrustStoreCaCertificatesBundle -Value Get-ELB2TrustStore Set-Alias -Name ELB2-GetTrustStoreRevocationContent -Value Get-ELB2TrustStoreRevocationContent Set-Alias -Name Modify-ELB2Listener -Value Edit-ELB2Listener Set-Alias -Name ELB2-ModifyListener -Value Edit-ELB2Listener +Set-Alias -Name Modify-ELB2ListenerAttributes -Value Edit-ELB2ListenerAttribute +Set-Alias -Name Modify-ELB2ListenerAttribute -Value Edit-ELB2ListenerAttribute +Set-Alias -Name ELB2-ModifyListenerAttributes -Value Edit-ELB2ListenerAttribute Set-Alias -Name Modify-ELB2LoadBalancerAttributes -Value Edit-ELB2LoadBalancerAttribute Set-Alias -Name Modify-ELB2LoadBalancerAttribute -Value Edit-ELB2LoadBalancerAttribute Set-Alias -Name ELB2-ModifyLoadBalancerAttributes -Value Edit-ELB2LoadBalancerAttribute @@ -12099,6 +12169,7 @@ Set-Alias -Name FIS-GetAction -Value Get-FISAction Set-Alias -Name FIS-GetExperiment -Value Get-FISExperiment Set-Alias -Name FIS-GetExperimentTargetAccountConfiguration -Value Get-FISExperimentTargetAccountConfiguration Set-Alias -Name FIS-GetExperimentTemplate -Value Get-FISExperimentTemplate +Set-Alias -Name FIS-GetSafetyLever -Value Get-FISSafetyLever Set-Alias -Name FIS-GetTargetAccountConfiguration -Value Get-FISTargetAccountConfiguration Set-Alias -Name FIS-GetTargetResourceType -Value Get-FISTargetResourceType Set-Alias -Name List-FISActions -Value Get-FISActionList @@ -12128,6 +12199,7 @@ Set-Alias -Name FIS-StopExperiment -Value Stop-FISExperiment Set-Alias -Name FIS-TagResource -Value Add-FISResourceTag Set-Alias -Name FIS-UntagResource -Value Remove-FISResourceTag Set-Alias -Name FIS-UpdateExperimentTemplate -Value Update-FISExperimentTemplate +Set-Alias -Name FIS-UpdateSafetyLeverState -Value Update-FISSafetyLeverState Set-Alias -Name FIS-UpdateTargetAccountConfiguration -Value Update-FISTargetAccountConfiguration Set-Alias -Name Associate-FMSAdminAccount -Value Add-FMSAdminAccountAssociation Set-Alias -Name Associate-FMSAdminAccountAssociation -Value Add-FMSAdminAccountAssociation @@ -13344,6 +13416,7 @@ Set-Alias -Name GLUE-StopSession -Value Stop-GLUESession Set-Alias -Name GLUE-StopTrigger -Value Stop-GLUETrigger Set-Alias -Name GLUE-StopWorkflowRun -Value Stop-GLUEWorkflowRun Set-Alias -Name GLUE-TagResource -Value Add-GLUEResourceTag +Set-Alias -Name GLUE-TestConnection -Value Test-GLUEConnection Set-Alias -Name GLUE-UntagResource -Value Remove-GLUEResourceTag Set-Alias -Name GLUE-UpdateBlueprint -Value Update-GLUEBlueprint Set-Alias -Name GLUE-UpdateClassifier -Value Update-GLUEClassifier @@ -14643,6 +14716,8 @@ Set-Alias -Name Accept-IOTCertificateTransfer -Value Confirm-IOTCertificateTrans Set-Alias -Name IOT-AcceptCertificateTransfer -Value Confirm-IOTCertificateTransfer Set-Alias -Name IOT-AddThingToBillingGroup -Value Add-IOTThingToBillingGroup Set-Alias -Name IOT-AddThingToThingGroup -Value Add-IOTThingToThingGroup +Set-Alias -Name Associate-IOTSbomWithPackageVersion -Value Add-IOTSbomWithPackageVersion +Set-Alias -Name IOT-AssociateSbomWithPackageVersion -Value Add-IOTSbomWithPackageVersion Set-Alias -Name Associate-IOTTargetsWithJob -Value Add-IOTTargetsWithJob Set-Alias -Name IOT-AssociateTargetsWithJob -Value Add-IOTTargetsWithJob Set-Alias -Name Attach-IOTPolicy -Value Add-IOTPolicy @@ -14878,6 +14953,8 @@ Set-Alias -Name IOT-DetachSecurityProfile -Value Dismount-IOTSecurityProfile Set-Alias -Name Detach-IOTThingPrincipal -Value Remove-IOTThingPrincipal Set-Alias -Name IOT-DetachThingPrincipal -Value Remove-IOTThingPrincipal Set-Alias -Name IOT-DisableTopicRule -Value Disable-IOTTopicRule +Set-Alias -Name Disassociate-IOTSbomFromPackageVersion -Value Remove-IOTSbomFromPackageVersion +Set-Alias -Name IOT-DisassociateSbomFromPackageVersion -Value Remove-IOTSbomFromPackageVersion Set-Alias -Name IOT-EnableTopicRule -Value Enable-IOTTopicRule Set-Alias -Name Get-IOTBehaviorModelTrainingSummaries -Value Get-IOTBehaviorModelTrainingSummary Set-Alias -Name IOT-GetBehaviorModelTrainingSummaries -Value Get-IOTBehaviorModelTrainingSummary @@ -15024,6 +15101,9 @@ Set-Alias -Name IOT-ListRelatedResourcesForAuditFinding -Value Get-IOTRelatedRes Set-Alias -Name List-IOTRoleAliases -Value Get-IOTRoleAliasList Set-Alias -Name List-IOTRoleAliasList -Value Get-IOTRoleAliasList Set-Alias -Name IOT-ListRoleAliases -Value Get-IOTRoleAliasList +Set-Alias -Name List-IOTSbomValidationResults -Value Get-IOTSbomValidationResultList +Set-Alias -Name List-IOTSbomValidationResultList -Value Get-IOTSbomValidationResultList +Set-Alias -Name IOT-ListSbomValidationResults -Value Get-IOTSbomValidationResultList Set-Alias -Name List-IOTScheduledAudits -Value Get-IOTScheduledAuditList Set-Alias -Name List-IOTScheduledAuditList -Value Get-IOTScheduledAuditList Set-Alias -Name IOT-ListScheduledAudits -Value Get-IOTScheduledAuditList @@ -15981,6 +16061,8 @@ Set-Alias -Name IVSC-UpdateLoggingConfiguration -Value Update-IVSCLoggingConfigu Set-Alias -Name IVSC-UpdateRoom -Value Update-IVSCRoom Set-Alias -Name Create-IVSRTEncoderConfiguration -Value New-IVSRTEncoderConfiguration Set-Alias -Name IVSRT-CreateEncoderConfiguration -Value New-IVSRTEncoderConfiguration +Set-Alias -Name Create-IVSRTIngestConfiguration -Value New-IVSRTIngestConfiguration +Set-Alias -Name IVSRT-CreateIngestConfiguration -Value New-IVSRTIngestConfiguration Set-Alias -Name Create-IVSRTParticipantToken -Value New-IVSRTParticipantToken Set-Alias -Name IVSRT-CreateParticipantToken -Value New-IVSRTParticipantToken Set-Alias -Name Create-IVSRTStage -Value New-IVSRTStage @@ -15989,6 +16071,8 @@ Set-Alias -Name Create-IVSRTStorageConfiguration -Value New-IVSRTStorageConfigur Set-Alias -Name IVSRT-CreateStorageConfiguration -Value New-IVSRTStorageConfiguration Set-Alias -Name Delete-IVSRTEncoderConfiguration -Value Remove-IVSRTEncoderConfiguration Set-Alias -Name IVSRT-DeleteEncoderConfiguration -Value Remove-IVSRTEncoderConfiguration +Set-Alias -Name Delete-IVSRTIngestConfiguration -Value Remove-IVSRTIngestConfiguration +Set-Alias -Name IVSRT-DeleteIngestConfiguration -Value Remove-IVSRTIngestConfiguration Set-Alias -Name Delete-IVSRTPublicKey -Value Remove-IVSRTPublicKey Set-Alias -Name IVSRT-DeletePublicKey -Value Remove-IVSRTPublicKey Set-Alias -Name Delete-IVSRTStage -Value Remove-IVSRTStage @@ -15998,6 +16082,7 @@ Set-Alias -Name IVSRT-DeleteStorageConfiguration -Value Remove-IVSRTStorageConfi Set-Alias -Name IVSRT-DisconnectParticipant -Value Disconnect-IVSRTParticipant Set-Alias -Name IVSRT-GetComposition -Value Get-IVSRTComposition Set-Alias -Name IVSRT-GetEncoderConfiguration -Value Get-IVSRTEncoderConfiguration +Set-Alias -Name IVSRT-GetIngestConfiguration -Value Get-IVSRTIngestConfiguration Set-Alias -Name IVSRT-GetParticipant -Value Get-IVSRTParticipant Set-Alias -Name IVSRT-GetPublicKey -Value Get-IVSRTPublicKey Set-Alias -Name IVSRT-GetStage -Value Get-IVSRTStage @@ -16010,6 +16095,9 @@ Set-Alias -Name IVSRT-ListCompositions -Value Get-IVSRTCompositionList Set-Alias -Name List-IVSRTEncoderConfigurations -Value Get-IVSRTEncoderConfigurationList Set-Alias -Name List-IVSRTEncoderConfigurationList -Value Get-IVSRTEncoderConfigurationList Set-Alias -Name IVSRT-ListEncoderConfigurations -Value Get-IVSRTEncoderConfigurationList +Set-Alias -Name List-IVSRTIngestConfigurations -Value Get-IVSRTIngestConfigurationList +Set-Alias -Name List-IVSRTIngestConfigurationList -Value Get-IVSRTIngestConfigurationList +Set-Alias -Name IVSRT-ListIngestConfigurations -Value Get-IVSRTIngestConfigurationList Set-Alias -Name List-IVSRTParticipantEvents -Value Get-IVSRTParticipantEventList Set-Alias -Name List-IVSRTParticipantEventList -Value Get-IVSRTParticipantEventList Set-Alias -Name IVSRT-ListParticipantEvents -Value Get-IVSRTParticipantEventList @@ -16033,6 +16121,7 @@ Set-Alias -Name IVSRT-StartComposition -Value Start-IVSRTComposition Set-Alias -Name IVSRT-StopComposition -Value Stop-IVSRTComposition Set-Alias -Name IVSRT-TagResource -Value Add-IVSRTResourceTag Set-Alias -Name IVSRT-UntagResource -Value Remove-IVSRTResourceTag +Set-Alias -Name IVSRT-UpdateIngestConfiguration -Value Update-IVSRTIngestConfiguration Set-Alias -Name IVSRT-UpdateStage -Value Update-IVSRTStage Set-Alias -Name Batch-MSKAssociateScramSecret -Value Register-MSKAssociateScramSecret Set-Alias -Name MSK-BatchAssociateScramSecret -Value Register-MSKAssociateScramSecret @@ -17560,6 +17649,9 @@ Set-Alias -Name CWL-DeleteSubscriptionFilter -Value Remove-CWLSubscriptionFilter Set-Alias -Name Describe-CWLAccountPolicies -Value Get-CWLAccountPolicy Set-Alias -Name Describe-CWLAccountPolicy -Value Get-CWLAccountPolicy Set-Alias -Name CWL-DescribeAccountPolicies -Value Get-CWLAccountPolicy +Set-Alias -Name Describe-CWLConfigurationTemplates -Value Find-CWLConfigurationTemplate +Set-Alias -Name Describe-CWLConfigurationTemplate -Value Find-CWLConfigurationTemplate +Set-Alias -Name CWL-DescribeConfigurationTemplates -Value Find-CWLConfigurationTemplate Set-Alias -Name Describe-CWLDeliveries -Value Find-CWLDelivery Set-Alias -Name Describe-CWLDelivery -Value Find-CWLDelivery Set-Alias -Name CWL-DescribeDeliveries -Value Find-CWLDelivery @@ -17664,6 +17756,7 @@ Set-Alias -Name Untag-CWLLogGroupTag -Value Remove-CWLLogGroupTag Set-Alias -Name CWL-UntagLogGroup -Value Remove-CWLLogGroupTag Set-Alias -Name CWL-UntagResource -Value Remove-CWLResourceTag Set-Alias -Name CWL-UpdateAnomaly -Value Update-CWLAnomaly +Set-Alias -Name CWL-UpdateDeliveryConfiguration -Value Update-CWLDeliveryConfiguration Set-Alias -Name CWL-UpdateLogAnomalyDetector -Value Update-CWLLogAnomalyDetector Set-Alias -Name Create-L4EDataset -Value New-L4EDataset Set-Alias -Name L4E-CreateDataset -Value New-L4EDataset @@ -18353,6 +18446,8 @@ Set-Alias -Name Describe-EMCNFlow -Value Get-EMCNFlow Set-Alias -Name EMCN-DescribeFlow -Value Get-EMCNFlow Set-Alias -Name Describe-EMCNFlowSourceMetadata -Value Get-EMCNFlowSourceMetadata Set-Alias -Name EMCN-DescribeFlowSourceMetadata -Value Get-EMCNFlowSourceMetadata +Set-Alias -Name Describe-EMCNFlowSourceThumbnail -Value Get-EMCNFlowSourceThumbnail +Set-Alias -Name EMCN-DescribeFlowSourceThumbnail -Value Get-EMCNFlowSourceThumbnail Set-Alias -Name Describe-EMCNGateway -Value Get-EMCNGateway Set-Alias -Name EMCN-DescribeGateway -Value Get-EMCNGateway Set-Alias -Name Describe-EMCNGatewayInstance -Value Get-EMCNGatewayInstance @@ -18451,6 +18546,9 @@ Set-Alias -Name List-EMCQueues -Value Get-EMCQueueList Set-Alias -Name List-EMCQueueList -Value Get-EMCQueueList Set-Alias -Name EMC-ListQueues -Value Get-EMCQueueList Set-Alias -Name EMC-ListTagsForResource -Value Get-EMCResourceTag +Set-Alias -Name List-EMCVersions -Value Get-EMCVersionList +Set-Alias -Name List-EMCVersionList -Value Get-EMCVersionList +Set-Alias -Name EMC-ListVersions -Value Get-EMCVersionList Set-Alias -Name Put-EMCPolicy -Value Write-EMCPolicy Set-Alias -Name EMC-PutPolicy -Value Write-EMCPolicy Set-Alias -Name Search-EMCJobs -Value Search-EMCJob @@ -18480,10 +18578,14 @@ Set-Alias -Name Claim-EMLDevice -Value Request-EMLDevice Set-Alias -Name EML-ClaimDevice -Value Request-EMLDevice Set-Alias -Name Create-EMLChannel -Value New-EMLChannel Set-Alias -Name EML-CreateChannel -Value New-EMLChannel +Set-Alias -Name Create-EMLChannelPlacementGroup -Value New-EMLChannelPlacementGroup +Set-Alias -Name EML-CreateChannelPlacementGroup -Value New-EMLChannelPlacementGroup Set-Alias -Name Create-EMLCloudWatchAlarmTemplate -Value New-EMLCloudWatchAlarmTemplate Set-Alias -Name EML-CreateCloudWatchAlarmTemplate -Value New-EMLCloudWatchAlarmTemplate Set-Alias -Name Create-EMLCloudWatchAlarmTemplateGroup -Value New-EMLCloudWatchAlarmTemplateGroup Set-Alias -Name EML-CreateCloudWatchAlarmTemplateGroup -Value New-EMLCloudWatchAlarmTemplateGroup +Set-Alias -Name Create-EMLCluster -Value New-EMLCluster +Set-Alias -Name EML-CreateCluster -Value New-EMLCluster Set-Alias -Name Create-EMLEventBridgeRuleTemplate -Value New-EMLEventBridgeRuleTemplate Set-Alias -Name EML-CreateEventBridgeRuleTemplate -Value New-EMLEventBridgeRuleTemplate Set-Alias -Name Create-EMLEventBridgeRuleTemplateGroup -Value New-EMLEventBridgeRuleTemplateGroup @@ -18496,6 +18598,12 @@ Set-Alias -Name Create-EMLMultiplex -Value New-EMLMultiplex Set-Alias -Name EML-CreateMultiplex -Value New-EMLMultiplex Set-Alias -Name Create-EMLMultiplexProgram -Value New-EMLMultiplexProgram Set-Alias -Name EML-CreateMultiplexProgram -Value New-EMLMultiplexProgram +Set-Alias -Name Create-EMLNetwork -Value New-EMLNetwork +Set-Alias -Name EML-CreateNetwork -Value New-EMLNetwork +Set-Alias -Name Create-EMLNode -Value New-EMLNode +Set-Alias -Name EML-CreateNode -Value New-EMLNode +Set-Alias -Name Create-EMLNodeRegistrationScript -Value New-EMLNodeRegistrationScript +Set-Alias -Name EML-CreateNodeRegistrationScript -Value New-EMLNodeRegistrationScript Set-Alias -Name Create-EMLPartnerInput -Value New-EMLPartnerInput Set-Alias -Name EML-CreatePartnerInput -Value New-EMLPartnerInput Set-Alias -Name Create-EMLSignalMap -Value New-EMLSignalMap @@ -18505,10 +18613,14 @@ Set-Alias -Name Create-EMLResourceTag -Value Add-EMLResourceTag Set-Alias -Name EML-CreateTags -Value Add-EMLResourceTag Set-Alias -Name Delete-EMLChannel -Value Remove-EMLChannel Set-Alias -Name EML-DeleteChannel -Value Remove-EMLChannel +Set-Alias -Name Delete-EMLChannelPlacementGroup -Value Remove-EMLChannelPlacementGroup +Set-Alias -Name EML-DeleteChannelPlacementGroup -Value Remove-EMLChannelPlacementGroup Set-Alias -Name Delete-EMLCloudWatchAlarmTemplate -Value Remove-EMLCloudWatchAlarmTemplate Set-Alias -Name EML-DeleteCloudWatchAlarmTemplate -Value Remove-EMLCloudWatchAlarmTemplate Set-Alias -Name Delete-EMLCloudWatchAlarmTemplateGroup -Value Remove-EMLCloudWatchAlarmTemplateGroup Set-Alias -Name EML-DeleteCloudWatchAlarmTemplateGroup -Value Remove-EMLCloudWatchAlarmTemplateGroup +Set-Alias -Name Delete-EMLCluster -Value Remove-EMLCluster +Set-Alias -Name EML-DeleteCluster -Value Remove-EMLCluster Set-Alias -Name Delete-EMLEventBridgeRuleTemplate -Value Remove-EMLEventBridgeRuleTemplate Set-Alias -Name EML-DeleteEventBridgeRuleTemplate -Value Remove-EMLEventBridgeRuleTemplate Set-Alias -Name Delete-EMLEventBridgeRuleTemplateGroup -Value Remove-EMLEventBridgeRuleTemplateGroup @@ -18521,6 +18633,10 @@ Set-Alias -Name Delete-EMLMultiplex -Value Remove-EMLMultiplex Set-Alias -Name EML-DeleteMultiplex -Value Remove-EMLMultiplex Set-Alias -Name Delete-EMLMultiplexProgram -Value Remove-EMLMultiplexProgram Set-Alias -Name EML-DeleteMultiplexProgram -Value Remove-EMLMultiplexProgram +Set-Alias -Name Delete-EMLNetwork -Value Remove-EMLNetwork +Set-Alias -Name EML-DeleteNetwork -Value Remove-EMLNetwork +Set-Alias -Name Delete-EMLNode -Value Remove-EMLNode +Set-Alias -Name EML-DeleteNode -Value Remove-EMLNode Set-Alias -Name Delete-EMLReservation -Value Remove-EMLReservation Set-Alias -Name EML-DeleteReservation -Value Remove-EMLReservation Set-Alias -Name Delete-EMLSchedule -Value Remove-EMLSchedule @@ -18534,6 +18650,10 @@ Set-Alias -Name Describe-EMLAccountConfiguration -Value Get-EMLAccountConfigurat Set-Alias -Name EML-DescribeAccountConfiguration -Value Get-EMLAccountConfiguration Set-Alias -Name Describe-EMLChannel -Value Get-EMLChannel Set-Alias -Name EML-DescribeChannel -Value Get-EMLChannel +Set-Alias -Name Describe-EMLChannelPlacementGroup -Value Get-EMLChannelPlacementGroup +Set-Alias -Name EML-DescribeChannelPlacementGroup -Value Get-EMLChannelPlacementGroup +Set-Alias -Name Describe-EMLCluster -Value Get-EMLCluster +Set-Alias -Name EML-DescribeCluster -Value Get-EMLCluster Set-Alias -Name Describe-EMLInput -Value Get-EMLInput Set-Alias -Name EML-DescribeInput -Value Get-EMLInput Set-Alias -Name Describe-EMLInputDevice -Value Get-EMLInputDevice @@ -18546,6 +18666,10 @@ Set-Alias -Name Describe-EMLMultiplex -Value Get-EMLMultiplex Set-Alias -Name EML-DescribeMultiplex -Value Get-EMLMultiplex Set-Alias -Name Describe-EMLMultiplexProgram -Value Get-EMLMultiplexProgram Set-Alias -Name EML-DescribeMultiplexProgram -Value Get-EMLMultiplexProgram +Set-Alias -Name Describe-EMLNetwork -Value Get-EMLNetwork +Set-Alias -Name EML-DescribeNetwork -Value Get-EMLNetwork +Set-Alias -Name Describe-EMLNode -Value Get-EMLNode +Set-Alias -Name EML-DescribeNode -Value Get-EMLNode Set-Alias -Name Describe-EMLOffering -Value Get-EMLOffering Set-Alias -Name EML-DescribeOffering -Value Get-EMLOffering Set-Alias -Name Describe-EMLReservation -Value Get-EMLReservation @@ -18560,6 +18684,9 @@ Set-Alias -Name EML-GetCloudWatchAlarmTemplateGroup -Value Get-EMLCloudWatchAlar Set-Alias -Name EML-GetEventBridgeRuleTemplate -Value Get-EMLEventBridgeRuleTemplate Set-Alias -Name EML-GetEventBridgeRuleTemplateGroup -Value Get-EMLEventBridgeRuleTemplateGroup Set-Alias -Name EML-GetSignalMap -Value Get-EMLSignalMap +Set-Alias -Name List-EMLChannelPlacementGroups -Value Get-EMLChannelPlacementGroupList +Set-Alias -Name List-EMLChannelPlacementGroupList -Value Get-EMLChannelPlacementGroupList +Set-Alias -Name EML-ListChannelPlacementGroups -Value Get-EMLChannelPlacementGroupList Set-Alias -Name List-EMLChannels -Value Get-EMLChannelList Set-Alias -Name List-EMLChannelList -Value Get-EMLChannelList Set-Alias -Name EML-ListChannels -Value Get-EMLChannelList @@ -18569,6 +18696,9 @@ Set-Alias -Name EML-ListCloudWatchAlarmTemplateGroups -Value Get-EMLCloudWatchAl Set-Alias -Name List-EMLCloudWatchAlarmTemplates -Value Get-EMLCloudWatchAlarmTemplateList Set-Alias -Name List-EMLCloudWatchAlarmTemplateList -Value Get-EMLCloudWatchAlarmTemplateList Set-Alias -Name EML-ListCloudWatchAlarmTemplates -Value Get-EMLCloudWatchAlarmTemplateList +Set-Alias -Name List-EMLClusters -Value Get-EMLClusterList +Set-Alias -Name List-EMLClusterList -Value Get-EMLClusterList +Set-Alias -Name EML-ListClusters -Value Get-EMLClusterList Set-Alias -Name List-EMLEventBridgeRuleTemplateGroups -Value Get-EMLEventBridgeRuleTemplateGroupList Set-Alias -Name List-EMLEventBridgeRuleTemplateGroupList -Value Get-EMLEventBridgeRuleTemplateGroupList Set-Alias -Name EML-ListEventBridgeRuleTemplateGroups -Value Get-EMLEventBridgeRuleTemplateGroupList @@ -18593,6 +18723,12 @@ Set-Alias -Name EML-ListMultiplexes -Value Get-EMLMultiplexList Set-Alias -Name List-EMLMultiplexPrograms -Value Get-EMLMultiplexProgramList Set-Alias -Name List-EMLMultiplexProgramList -Value Get-EMLMultiplexProgramList Set-Alias -Name EML-ListMultiplexPrograms -Value Get-EMLMultiplexProgramList +Set-Alias -Name List-EMLNetworks -Value Get-EMLNetworkList +Set-Alias -Name List-EMLNetworkList -Value Get-EMLNetworkList +Set-Alias -Name EML-ListNetworks -Value Get-EMLNetworkList +Set-Alias -Name List-EMLNodes -Value Get-EMLNodeList +Set-Alias -Name List-EMLNodeList -Value Get-EMLNodeList +Set-Alias -Name EML-ListNodes -Value Get-EMLNodeList Set-Alias -Name List-EMLOfferings -Value Get-EMLOfferingList Set-Alias -Name List-EMLOfferingList -Value Get-EMLOfferingList Set-Alias -Name EML-ListOfferings -Value Get-EMLOfferingList @@ -18627,8 +18763,10 @@ Set-Alias -Name EML-TransferInputDevice -Value Move-EMLInputDevice Set-Alias -Name EML-UpdateAccountConfiguration -Value Update-EMLAccountConfiguration Set-Alias -Name EML-UpdateChannel -Value Update-EMLChannel Set-Alias -Name EML-UpdateChannelClass -Value Update-EMLChannelClass +Set-Alias -Name EML-UpdateChannelPlacementGroup -Value Update-EMLChannelPlacementGroup Set-Alias -Name EML-UpdateCloudWatchAlarmTemplate -Value Update-EMLCloudWatchAlarmTemplate Set-Alias -Name EML-UpdateCloudWatchAlarmTemplateGroup -Value Update-EMLCloudWatchAlarmTemplateGroup +Set-Alias -Name EML-UpdateCluster -Value Update-EMLCluster Set-Alias -Name EML-UpdateEventBridgeRuleTemplate -Value Update-EMLEventBridgeRuleTemplate Set-Alias -Name EML-UpdateEventBridgeRuleTemplateGroup -Value Update-EMLEventBridgeRuleTemplateGroup Set-Alias -Name EML-UpdateInput -Value Update-EMLInput @@ -18636,6 +18774,9 @@ Set-Alias -Name EML-UpdateInputDevice -Value Update-EMLInputDevice Set-Alias -Name EML-UpdateInputSecurityGroup -Value Update-EMLInputSecurityGroup Set-Alias -Name EML-UpdateMultiplex -Value Update-EMLMultiplex Set-Alias -Name EML-UpdateMultiplexProgram -Value Update-EMLMultiplexProgram +Set-Alias -Name EML-UpdateNetwork -Value Update-EMLNetwork +Set-Alias -Name EML-UpdateNode -Value Update-EMLNode +Set-Alias -Name EML-UpdateNodeState -Value Update-EMLNodeState Set-Alias -Name EML-UpdateReservation -Value Update-EMLReservation Set-Alias -Name Configure-EMPLogs -Value Update-EMPLogConfiguration Set-Alias -Name Configure-EMPLogConfiguration -Value Update-EMPLogConfiguration @@ -21259,6 +21400,36 @@ Set-Alias -Name PCASCEP-ListConnectors -Value Get-PCASCEPConnectorList Set-Alias -Name PCASCEP-ListTagsForResource -Value Get-PCASCEPResourceTag Set-Alias -Name PCASCEP-TagResource -Value Add-PCASCEPResourceTag Set-Alias -Name PCASCEP-UntagResource -Value Remove-PCASCEPResourceTag +Set-Alias -Name Create-PCSCluster -Value New-PCSCluster +Set-Alias -Name PCS-CreateCluster -Value New-PCSCluster +Set-Alias -Name Create-PCSComputeNodeGroup -Value New-PCSComputeNodeGroup +Set-Alias -Name PCS-CreateComputeNodeGroup -Value New-PCSComputeNodeGroup +Set-Alias -Name Create-PCSQueue -Value New-PCSQueue +Set-Alias -Name PCS-CreateQueue -Value New-PCSQueue +Set-Alias -Name Delete-PCSCluster -Value Remove-PCSCluster +Set-Alias -Name PCS-DeleteCluster -Value Remove-PCSCluster +Set-Alias -Name Delete-PCSComputeNodeGroup -Value Remove-PCSComputeNodeGroup +Set-Alias -Name PCS-DeleteComputeNodeGroup -Value Remove-PCSComputeNodeGroup +Set-Alias -Name Delete-PCSQueue -Value Remove-PCSQueue +Set-Alias -Name PCS-DeleteQueue -Value Remove-PCSQueue +Set-Alias -Name PCS-GetCluster -Value Get-PCSCluster +Set-Alias -Name PCS-GetComputeNodeGroup -Value Get-PCSComputeNodeGroup +Set-Alias -Name PCS-GetQueue -Value Get-PCSQueue +Set-Alias -Name List-PCSClusters -Value Get-PCSClusterList +Set-Alias -Name List-PCSClusterList -Value Get-PCSClusterList +Set-Alias -Name PCS-ListClusters -Value Get-PCSClusterList +Set-Alias -Name List-PCSComputeNodeGroups -Value Get-PCSComputeNodeGroupList +Set-Alias -Name List-PCSComputeNodeGroupList -Value Get-PCSComputeNodeGroupList +Set-Alias -Name PCS-ListComputeNodeGroups -Value Get-PCSComputeNodeGroupList +Set-Alias -Name List-PCSQueues -Value Get-PCSQueueList +Set-Alias -Name List-PCSQueueList -Value Get-PCSQueueList +Set-Alias -Name PCS-ListQueues -Value Get-PCSQueueList +Set-Alias -Name PCS-ListTagsForResource -Value Get-PCSResourceTag +Set-Alias -Name PCS-RegisterComputeNodeGroupInstance -Value Register-PCSComputeNodeGroupInstance +Set-Alias -Name PCS-TagResource -Value Add-PCSResourceTag +Set-Alias -Name PCS-UntagResource -Value Remove-PCSResourceTag +Set-Alias -Name PCS-UpdateComputeNodeGroup -Value Update-PCSComputeNodeGroup +Set-Alias -Name PCS-UpdateQueue -Value Update-PCSQueue Set-Alias -Name Create-PERSBatchInferenceJob -Value New-PERSBatchInferenceJob Set-Alias -Name PERS-CreateBatchInferenceJob -Value New-PERSBatchInferenceJob Set-Alias -Name Create-PERSBatchSegmentJob -Value New-PERSBatchSegmentJob @@ -21406,6 +21577,7 @@ Set-Alias -Name PERS-UpdateCampaign -Value Update-PERSCampaign Set-Alias -Name PERS-UpdateDataset -Value Update-PERSDataset Set-Alias -Name PERS-UpdateMetricAttribution -Value Update-PERSMetricAttribution Set-Alias -Name PERS-UpdateRecommender -Value Update-PERSRecommender +Set-Alias -Name PERS-UpdateSolution -Value Update-PERSSolution Set-Alias -Name Put-PERSEActionInteractions -Value Write-PERSEActionInteraction Set-Alias -Name Put-PERSEActionInteraction -Value Write-PERSEActionInteraction Set-Alias -Name PERSE-PutActionInteractions -Value Write-PERSEActionInteraction @@ -21784,6 +21956,8 @@ Set-Alias -Name Delete-SMSVRegistrationAttachment -Value Remove-SMSVRegistration Set-Alias -Name SMSV-DeleteRegistrationAttachment -Value Remove-SMSVRegistrationAttachment Set-Alias -Name Delete-SMSVRegistrationFieldValue -Value Remove-SMSVRegistrationFieldValue Set-Alias -Name SMSV-DeleteRegistrationFieldValue -Value Remove-SMSVRegistrationFieldValue +Set-Alias -Name Delete-SMSVResourcePolicy -Value Remove-SMSVResourcePolicy +Set-Alias -Name SMSV-DeleteResourcePolicy -Value Remove-SMSVResourcePolicy Set-Alias -Name Delete-SMSVTextMessageSpendLimitOverride -Value Remove-SMSVTextMessageSpendLimitOverride Set-Alias -Name SMSV-DeleteTextMessageSpendLimitOverride -Value Remove-SMSVTextMessageSpendLimitOverride Set-Alias -Name Delete-SMSVVerifiedDestinationNumber -Value Remove-SMSVVerifiedDestinationNumber @@ -21854,6 +22028,7 @@ Set-Alias -Name SMSV-DisassociateProtectConfiguration -Value Unregister-SMSVProt Set-Alias -Name Discard-SMSVRegistrationVersion -Value Close-SMSVRegistrationVersion Set-Alias -Name SMSV-DiscardRegistrationVersion -Value Close-SMSVRegistrationVersion Set-Alias -Name SMSV-GetProtectConfigurationCountryRuleSet -Value Get-SMSVProtectConfigurationCountryRuleSet +Set-Alias -Name SMSV-GetResourcePolicy -Value Get-SMSVResourcePolicy Set-Alias -Name List-SMSVPoolOriginationIdentities -Value Get-SMSVPoolOriginationIdentityList Set-Alias -Name List-SMSVPoolOriginationIdentityList -Value Get-SMSVPoolOriginationIdentityList Set-Alias -Name SMSV-ListPoolOriginationIdentities -Value Get-SMSVPoolOriginationIdentityList @@ -21868,6 +22043,8 @@ Set-Alias -Name Put-SMSVOptedOutNumber -Value Set-SMSVOptedOutNumber Set-Alias -Name SMSV-PutOptedOutNumber -Value Set-SMSVOptedOutNumber Set-Alias -Name Put-SMSVRegistrationFieldValue -Value Set-SMSVRegistrationFieldValue Set-Alias -Name SMSV-PutRegistrationFieldValue -Value Set-SMSVRegistrationFieldValue +Set-Alias -Name Put-SMSVResourcePolicy -Value Write-SMSVResourcePolicy +Set-Alias -Name SMSV-PutResourcePolicy -Value Write-SMSVResourcePolicy Set-Alias -Name Release-SMSVPhoneNumber -Value Remove-SMSVPhoneNumber Set-Alias -Name SMSV-ReleasePhoneNumber -Value Remove-SMSVPhoneNumber Set-Alias -Name Release-SMSVSenderId -Value Remove-SMSVSenderId @@ -22237,6 +22414,7 @@ Set-Alias -Name qapps-StopQAppSession -Value Stop-qappsQAppSession Set-Alias -Name qapps-TagResource -Value Add-qappsResourceTag Set-Alias -Name qapps-UntagResource -Value Remove-qappsResourceTag Set-Alias -Name qapps-UpdateLibraryItem -Value Update-qappsLibraryItem +Set-Alias -Name qapps-UpdateLibraryItemMetadata -Value Update-qappsLibraryItemMetadata Set-Alias -Name qapps-UpdateQApp -Value Update-qappsQApp Set-Alias -Name qapps-UpdateQAppSession -Value Update-qappsQAppSession Set-Alias -Name Batch-QBUSDeleteDocument -Value Remove-QBUSBatchDeleteDocument @@ -22628,6 +22806,8 @@ Set-Alias -Name Describe-QSKeyRegistration -Value Get-QSKeyRegistration Set-Alias -Name QS-DescribeKeyRegistration -Value Get-QSKeyRegistration Set-Alias -Name Describe-QSNamespace -Value Get-QSNamespace Set-Alias -Name QS-DescribeNamespace -Value Get-QSNamespace +Set-Alias -Name Describe-QSQPersonalizationConfiguration -Value Get-QSQPersonalizationConfiguration +Set-Alias -Name QS-DescribeQPersonalizationConfiguration -Value Get-QSQPersonalizationConfiguration Set-Alias -Name Describe-QSRefreshSchedule -Value Get-QSRefreshSchedule Set-Alias -Name QS-DescribeRefreshSchedule -Value Get-QSRefreshSchedule Set-Alias -Name Describe-QSRoleCustomPermission -Value Get-QSRoleCustomPermission @@ -22694,6 +22874,9 @@ Set-Alias -Name QS-ListFolderMembers -Value Get-QSFolderMemberList Set-Alias -Name List-QSFolders -Value Get-QSFolderList Set-Alias -Name List-QSFolderList -Value Get-QSFolderList Set-Alias -Name QS-ListFolders -Value Get-QSFolderList +Set-Alias -Name List-QSFoldersForResource -Value Get-QSFoldersForResourceList +Set-Alias -Name List-QSFoldersForResourceList -Value Get-QSFoldersForResourceList +Set-Alias -Name QS-ListFoldersForResource -Value Get-QSFoldersForResourceList Set-Alias -Name List-QSGroupMemberships -Value Get-QSGroupMembershipList Set-Alias -Name List-QSGroupMembershipList -Value Get-QSGroupMembershipList Set-Alias -Name QS-ListGroupMemberships -Value Get-QSGroupMembershipList @@ -22809,6 +22992,7 @@ Set-Alias -Name QS-UpdateIpRestriction -Value Update-QSIpRestriction Set-Alias -Name QS-UpdateKeyRegistration -Value Update-QSKeyRegistration Set-Alias -Name Update-QSPublicSharingSettings -Value Update-QSPublicSharingSetting Set-Alias -Name QS-UpdatePublicSharingSettings -Value Update-QSPublicSharingSetting +Set-Alias -Name QS-UpdateQPersonalizationConfiguration -Value Update-QSQPersonalizationConfiguration Set-Alias -Name QS-UpdateRefreshSchedule -Value Update-QSRefreshSchedule Set-Alias -Name QS-UpdateRoleCustomPermission -Value Update-QSRoleCustomPermission Set-Alias -Name QS-UpdateSPICECapacityConfiguration -Value Update-QSSPICECapacityConfiguration @@ -23994,6 +24178,9 @@ Set-Alias -Name AREX-ListIndexes -Value Get-AREXIndexList Set-Alias -Name List-AREXIndexesForMembers -Value Get-AREXIndexesForMemberList Set-Alias -Name List-AREXIndexesForMemberList -Value Get-AREXIndexesForMemberList Set-Alias -Name AREX-ListIndexesForMembers -Value Get-AREXIndexesForMemberList +Set-Alias -Name List-AREXResources -Value Get-AREXResourceList +Set-Alias -Name List-AREXResourceList -Value Get-AREXResourceList +Set-Alias -Name AREX-ListResources -Value Get-AREXResourceList Set-Alias -Name List-AREXSupportedResourceTypes -Value Get-AREXSupportedResourceTypeList Set-Alias -Name List-AREXSupportedResourceTypeList -Value Get-AREXSupportedResourceTypeList Set-Alias -Name AREX-ListSupportedResourceTypes -Value Get-AREXSupportedResourceTypeList @@ -24941,6 +25128,9 @@ Set-Alias -Name S3C-ListAccessPoints -Value Get-S3CAccessPointList Set-Alias -Name List-S3CAccessPointsForObjectLambda -Value Get-S3CAccessPointsForObjectLambdaList Set-Alias -Name List-S3CAccessPointsForObjectLambdaList -Value Get-S3CAccessPointsForObjectLambdaList Set-Alias -Name S3C-ListAccessPointsForObjectLambda -Value Get-S3CAccessPointsForObjectLambdaList +Set-Alias -Name List-S3CCallerAccessGrants -Value Get-S3CCallerAccessGrantList +Set-Alias -Name List-S3CCallerAccessGrantList -Value Get-S3CCallerAccessGrantList +Set-Alias -Name S3C-ListCallerAccessGrants -Value Get-S3CCallerAccessGrantList Set-Alias -Name List-S3CJobs -Value Get-S3CJobList Set-Alias -Name List-S3CJobList -Value Get-S3CJobList Set-Alias -Name S3C-ListJobs -Value Get-S3CJobList @@ -25734,6 +25924,9 @@ Set-Alias -Name SMGS-StopEarthObservationJob -Value Stop-SMGSEarthObservationJob Set-Alias -Name SMGS-StopVectorEnrichmentJob -Value Stop-SMGSVectorEnrichmentJob Set-Alias -Name SMGS-TagResource -Value Add-SMGSResourceTag Set-Alias -Name SMGS-UntagResource -Value Remove-SMGSResourceTag +Set-Alias -Name Batch-SMMGetMetrics -Value Get-SMMMetric +Set-Alias -Name Batch-SMMMetric -Value Get-SMMMetric +Set-Alias -Name SMM-BatchGetMetrics -Value Get-SMMMetric Set-Alias -Name Batch-SMMPutMetrics -Value Add-SMMMetric Set-Alias -Name Batch-SMMMetric -Value Add-SMMMetric Set-Alias -Name SMM-BatchPutMetrics -Value Add-SMMMetric @@ -29384,69 +29577,6 @@ Set-Alias -Name WD-UpdateDocument -Value Update-WDDocument Set-Alias -Name WD-UpdateDocumentVersion -Value Update-WDDocumentVersion Set-Alias -Name WD-UpdateFolder -Value Update-WDFolder Set-Alias -Name WD-UpdateUser -Value Update-WDUser -Set-Alias -Name Associate-WLDomain -Value Register-WLDomain -Set-Alias -Name WL-AssociateDomain -Value Register-WLDomain -Set-Alias -Name Associate-WLWebsiteAuthorizationProvider -Value Add-WLWebsiteAuthorizationProviderToFleet -Set-Alias -Name Associate-WLWebsiteAuthorizationProviderToFleet -Value Add-WLWebsiteAuthorizationProviderToFleet -Set-Alias -Name WL-AssociateWebsiteAuthorizationProvider -Value Add-WLWebsiteAuthorizationProviderToFleet -Set-Alias -Name Associate-WLWebsiteCertificateAuthority -Value Register-WLWebsiteCertificateAuthority -Set-Alias -Name WL-AssociateWebsiteCertificateAuthority -Value Register-WLWebsiteCertificateAuthority -Set-Alias -Name Create-WLFleet -Value New-WLFleet -Set-Alias -Name WL-CreateFleet -Value New-WLFleet -Set-Alias -Name Delete-WLFleet -Value Remove-WLFleet -Set-Alias -Name WL-DeleteFleet -Value Remove-WLFleet -Set-Alias -Name Describe-WLAuditStreamConfiguration -Value Get-WLAuditStreamConfiguration -Set-Alias -Name WL-DescribeAuditStreamConfiguration -Value Get-WLAuditStreamConfiguration -Set-Alias -Name Describe-WLCompanyNetworkConfiguration -Value Get-WLCompanyNetworkConfiguration -Set-Alias -Name WL-DescribeCompanyNetworkConfiguration -Value Get-WLCompanyNetworkConfiguration -Set-Alias -Name Describe-WLDevice -Value Get-WLDevice -Set-Alias -Name WL-DescribeDevice -Value Get-WLDevice -Set-Alias -Name Describe-WLDevicePolicyConfiguration -Value Get-WLDevicePolicyConfiguration -Set-Alias -Name WL-DescribeDevicePolicyConfiguration -Value Get-WLDevicePolicyConfiguration -Set-Alias -Name Describe-WLDomain -Value Get-WLDomain -Set-Alias -Name WL-DescribeDomain -Value Get-WLDomain -Set-Alias -Name Describe-WLFleetMetadata -Value Get-WLFleetMetadata -Set-Alias -Name WL-DescribeFleetMetadata -Value Get-WLFleetMetadata -Set-Alias -Name Describe-WLIdentityProviderConfiguration -Value Get-WLIdentityProviderConfiguration -Set-Alias -Name WL-DescribeIdentityProviderConfiguration -Value Get-WLIdentityProviderConfiguration -Set-Alias -Name Describe-WLWebsiteCertificateAuthority -Value Get-WLWebsiteCertificateAuthority -Set-Alias -Name WL-DescribeWebsiteCertificateAuthority -Value Get-WLWebsiteCertificateAuthority -Set-Alias -Name Disassociate-WLDomain -Value Unregister-WLDomain -Set-Alias -Name WL-DisassociateDomain -Value Unregister-WLDomain -Set-Alias -Name Disassociate-WLWebsiteAuthorizationProvider -Value Remove-WLWebsiteAuthorizationProviderFromFleet -Set-Alias -Name Disassociate-WLWebsiteAuthorizationProviderFromFleet -Value Remove-WLWebsiteAuthorizationProviderFromFleet -Set-Alias -Name WL-DisassociateWebsiteAuthorizationProvider -Value Remove-WLWebsiteAuthorizationProviderFromFleet -Set-Alias -Name Disassociate-WLWebsiteCertificateAuthority -Value Unregister-WLWebsiteCertificateAuthority -Set-Alias -Name WL-DisassociateWebsiteCertificateAuthority -Value Unregister-WLWebsiteCertificateAuthority -Set-Alias -Name List-WLDevices -Value Get-WLDeviceList -Set-Alias -Name List-WLDeviceList -Value Get-WLDeviceList -Set-Alias -Name WL-ListDevices -Value Get-WLDeviceList -Set-Alias -Name List-WLDomains -Value Get-WLDomainList -Set-Alias -Name List-WLDomainList -Value Get-WLDomainList -Set-Alias -Name WL-ListDomains -Value Get-WLDomainList -Set-Alias -Name List-WLFleets -Value Get-WLFleetList -Set-Alias -Name List-WLFleetList -Value Get-WLFleetList -Set-Alias -Name WL-ListFleets -Value Get-WLFleetList -Set-Alias -Name WL-ListTagsForResource -Value Get-WLResourceTag -Set-Alias -Name List-WLWebsiteAuthorizationProviders -Value Get-WLWebsiteAuthorizationProviderList -Set-Alias -Name List-WLWebsiteAuthorizationProviderList -Value Get-WLWebsiteAuthorizationProviderList -Set-Alias -Name WL-ListWebsiteAuthorizationProviders -Value Get-WLWebsiteAuthorizationProviderList -Set-Alias -Name List-WLWebsiteCertificateAuthorities -Value Get-WLWebsiteCertificateAuthorityList -Set-Alias -Name List-WLWebsiteCertificateAuthorityList -Value Get-WLWebsiteCertificateAuthorityList -Set-Alias -Name WL-ListWebsiteCertificateAuthorities -Value Get-WLWebsiteCertificateAuthorityList -Set-Alias -Name WL-RestoreDomainAccess -Value Restore-WLDomainAccess -Set-Alias -Name WL-RevokeDomainAccess -Value Revoke-WLDomainAccess -Set-Alias -Name Sign-WLOutUser -Value Disconnect-WLUser -Set-Alias -Name Sign-WLUser -Value Disconnect-WLUser -Set-Alias -Name WL-SignOutUser -Value Disconnect-WLUser -Set-Alias -Name WL-TagResource -Value Add-WLResourceTag -Set-Alias -Name WL-UntagResource -Value Remove-WLResourceTag -Set-Alias -Name WL-UpdateAuditStreamConfiguration -Value Update-WLAuditStreamConfiguration -Set-Alias -Name WL-UpdateCompanyNetworkConfiguration -Value Update-WLCompanyNetworkConfiguration -Set-Alias -Name WL-UpdateDevicePolicyConfiguration -Value Update-WLDevicePolicyConfiguration -Set-Alias -Name WL-UpdateDomainMetadata -Value Update-WLDomainMetadata -Set-Alias -Name WL-UpdateFleetMetadata -Value Update-WLFleetMetadata -Set-Alias -Name WL-UpdateIdentityProviderConfiguration -Value Update-WLIdentityProviderConfiguration Set-Alias -Name Associate-WMDelegateToResource -Value Add-WMDelegateToResource Set-Alias -Name WM-AssociateDelegateToResource -Value Add-WMDelegateToResource Set-Alias -Name Associate-WMMemberToGroup -Value Add-WMMemberToGroup @@ -29921,6 +30051,8 @@ Set-Alias -Name WSW-DisassociateUserAccessLoggingSettings -Value Unregister-WSWU Set-Alias -Name Disassociate-WSWUserSettings -Value Unregister-WSWUserSetting Set-Alias -Name Disassociate-WSWUserSetting -Value Unregister-WSWUserSetting Set-Alias -Name WSW-DisassociateUserSettings -Value Unregister-WSWUserSetting +Set-Alias -Name Expire-WSWSession -Value Revoke-WSWSession +Set-Alias -Name WSW-ExpireSession -Value Revoke-WSWSession Set-Alias -Name Get-WSWBrowserSettings -Value Get-WSWBrowserSetting Set-Alias -Name WSW-GetBrowserSettings -Value Get-WSWBrowserSetting Set-Alias -Name WSW-GetIdentityProvider -Value Get-WSWIdentityProvider @@ -29930,6 +30062,7 @@ Set-Alias -Name Get-WSWNetworkSettings -Value Get-WSWNetworkSetting Set-Alias -Name WSW-GetNetworkSettings -Value Get-WSWNetworkSetting Set-Alias -Name WSW-GetPortal -Value Get-WSWPortal Set-Alias -Name WSW-GetPortalServiceProviderMetadata -Value Get-WSWPortalServiceProviderMetadata +Set-Alias -Name WSW-GetSession -Value Get-WSWSession Set-Alias -Name WSW-GetTrustStore -Value Get-WSWTrustStore Set-Alias -Name WSW-GetTrustStoreCertificate -Value Get-WSWTrustStoreCertificate Set-Alias -Name Get-WSWUserAccessLoggingSettings -Value Get-WSWUserAccessLoggingSetting @@ -29951,6 +30084,9 @@ Set-Alias -Name WSW-ListNetworkSettings -Value Get-WSWNetworkSettingList Set-Alias -Name List-WSWPortals -Value Get-WSWPortalList Set-Alias -Name List-WSWPortalList -Value Get-WSWPortalList Set-Alias -Name WSW-ListPortals -Value Get-WSWPortalList +Set-Alias -Name List-WSWSessions -Value Get-WSWSessionList +Set-Alias -Name List-WSWSessionList -Value Get-WSWSessionList +Set-Alias -Name WSW-ListSessions -Value Get-WSWSessionList Set-Alias -Name WSW-ListTagsForResource -Value Get-WSWResourceTag Set-Alias -Name List-WSWTrustStoreCertificates -Value Get-WSWTrustStoreCertificateList Set-Alias -Name List-WSWTrustStoreCertificateList -Value Get-WSWTrustStoreCertificateList diff --git a/modules/AWSPowerShell/AWSPowerShell.NetCore.psd1 b/modules/AWSPowerShell/AWSPowerShell.NetCore.psd1 index 131333e258..92bc744cdc 100644 --- a/modules/AWSPowerShell/AWSPowerShell.NetCore.psd1 +++ b/modules/AWSPowerShell/AWSPowerShell.NetCore.psd1 @@ -173,6 +173,7 @@ This product provides support for all AWS services in a single module. As an alt 'AWSSDK.DevOpsGuru.dll', 'AWSSDK.DirectConnect.dll', 'AWSSDK.DirectoryService.dll', + 'AWSSDK.DirectoryServiceData.dll', 'AWSSDK.DLM.dll', 'AWSSDK.DocDB.dll', 'AWSSDK.DocDBElastic.dll', @@ -323,6 +324,7 @@ This product provides support for all AWS services in a single module. As an alt 'AWSSDK.PaymentCryptographyData.dll', 'AWSSDK.PcaConnectorAd.dll', 'AWSSDK.PcaConnectorScep.dll', + 'AWSSDK.PCS.dll', 'AWSSDK.Personalize.dll', 'AWSSDK.PersonalizeEvents.dll', 'AWSSDK.PersonalizeRuntime.dll', @@ -424,7 +426,6 @@ This product provides support for all AWS services in a single module. As an alt 'AWSSDK.WAFV2.dll', 'AWSSDK.WellArchitected.dll', 'AWSSDK.WorkDocs.dll', - 'AWSSDK.WorkLink.dll', 'AWSSDK.WorkMail.dll', 'AWSSDK.WorkMailMessageFlow.dll', 'AWSSDK.WorkSpaces.dll', diff --git a/modules/AWSPowerShell/AWSPowerShell.csproj b/modules/AWSPowerShell/AWSPowerShell.csproj index d1300ae65e..8ca97185e7 100644 --- a/modules/AWSPowerShell/AWSPowerShell.csproj +++ b/modules/AWSPowerShell/AWSPowerShell.csproj @@ -415,6 +415,9 @@ ../../Include/sdk/assemblies/net45/AWSSDK.DirectoryService.dll + + ../../Include/sdk/assemblies/net45/AWSSDK.DirectoryServiceData.dll + ../../Include/sdk/assemblies/net45/AWSSDK.DLM.dll @@ -865,6 +868,9 @@ ../../Include/sdk/assemblies/net45/AWSSDK.PcaConnectorScep.dll + + ../../Include/sdk/assemblies/net45/AWSSDK.PCS.dll + ../../Include/sdk/assemblies/net45/AWSSDK.Personalize.dll @@ -1168,9 +1174,6 @@ ../../Include/sdk/assemblies/net45/AWSSDK.WorkDocs.dll - - ../../Include/sdk/assemblies/net45/AWSSDK.WorkLink.dll - ../../Include/sdk/assemblies/net45/AWSSDK.WorkMail.dll @@ -1551,6 +1554,9 @@ ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.DirectoryService.dll + + ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.DirectoryServiceData.dll + ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.DLM.dll @@ -2001,6 +2007,9 @@ ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.PcaConnectorScep.dll + + ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.PCS.dll + ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.Personalize.dll @@ -2304,9 +2313,6 @@ ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.WorkDocs.dll - - ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.WorkLink.dll - ../../Include/sdk/assemblies/netstandard2.0/AWSSDK.WorkMail.dll diff --git a/modules/AWSPowerShell/AWSPowerShell.psd1 b/modules/AWSPowerShell/AWSPowerShell.psd1 index a44751022a..f2b32a0728 100644 --- a/modules/AWSPowerShell/AWSPowerShell.psd1 +++ b/modules/AWSPowerShell/AWSPowerShell.psd1 @@ -173,6 +173,7 @@ This product provides support for all AWS services in a single module. As an alt 'AWSSDK.DevOpsGuru.dll', 'AWSSDK.DirectConnect.dll', 'AWSSDK.DirectoryService.dll', + 'AWSSDK.DirectoryServiceData.dll', 'AWSSDK.DLM.dll', 'AWSSDK.DocDB.dll', 'AWSSDK.DocDBElastic.dll', @@ -323,6 +324,7 @@ This product provides support for all AWS services in a single module. As an alt 'AWSSDK.PaymentCryptographyData.dll', 'AWSSDK.PcaConnectorAd.dll', 'AWSSDK.PcaConnectorScep.dll', + 'AWSSDK.PCS.dll', 'AWSSDK.Personalize.dll', 'AWSSDK.PersonalizeEvents.dll', 'AWSSDK.PersonalizeRuntime.dll', @@ -424,7 +426,6 @@ This product provides support for all AWS services in a single module. As an alt 'AWSSDK.WAFV2.dll', 'AWSSDK.WellArchitected.dll', 'AWSSDK.WorkDocs.dll', - 'AWSSDK.WorkLink.dll', 'AWSSDK.WorkMail.dll', 'AWSSDK.WorkMailMessageFlow.dll', 'AWSSDK.WorkSpaces.dll', diff --git a/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 b/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 index 323f5488df..9a6d1d68a5 100644 --- a/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 +++ b/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 @@ -1833,6 +1833,16 @@ $APPC_Completers = { switch ($("$commandName/$parameterName")) { + # Amazon.AppConfig.DeletionProtectionCheck + { + ($_ -eq "Remove-APPCConfigurationProfile/DeletionProtectionCheck") -Or + ($_ -eq "Remove-APPCEnvironment/DeletionProtectionCheck") + } + { + $v = "ACCOUNT_DEFAULT","APPLY","BYPASS" + break + } + # Amazon.AppConfig.GrowthType { ($_ -eq "New-APPCDeploymentStrategy/GrowthType") -Or @@ -1859,6 +1869,7 @@ $APPC_Completers = { } $APPC_map = @{ + "DeletionProtectionCheck"=@("Remove-APPCConfigurationProfile","Remove-APPCEnvironment") "GrowthType"=@("New-APPCDeploymentStrategy","Update-APPCDeploymentStrategy") "ReplicateTo"=@("New-APPCDeploymentStrategy") } @@ -1927,6 +1938,7 @@ $APPC_SelectMap = @{ "Remove-APPCExtension", "Remove-APPCExtensionAssociation", "Remove-APPCHostedConfigurationVersion", + "Get-APPCAccountSetting", "Get-APPCApplication", "Get-APPCConfiguration", "Get-APPCConfigurationProfile", @@ -1949,6 +1961,7 @@ $APPC_SelectMap = @{ "Stop-APPCDeployment", "Add-APPCResourceTag", "Remove-APPCResourceTag", + "Update-APPCAccountSetting", "Update-APPCApplication", "Update-APPCConfigurationProfile", "Update-APPCDeploymentStrategy", @@ -2889,12 +2902,14 @@ $CWAS_Completers = { ($_ -eq "Update-CWASServiceLevelObjective/RollingInterval_DurationUnit") } { - $v = "DAY","MONTH" + $v = "DAY","HOUR","MINUTE","MONTH" break } # Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator { + ($_ -eq "New-CWASServiceLevelObjective/RequestBasedSliConfig_ComparisonOperator") -Or + ($_ -eq "Update-CWASServiceLevelObjective/RequestBasedSliConfig_ComparisonOperator") -Or ($_ -eq "New-CWASServiceLevelObjective/SliConfig_ComparisonOperator") -Or ($_ -eq "Update-CWASServiceLevelObjective/SliConfig_ComparisonOperator") } @@ -2905,6 +2920,8 @@ $CWAS_Completers = { # Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType { + ($_ -eq "New-CWASServiceLevelObjective/RequestBasedSliMetricConfig_MetricType") -Or + ($_ -eq "Update-CWASServiceLevelObjective/RequestBasedSliMetricConfig_MetricType") -Or ($_ -eq "New-CWASServiceLevelObjective/SliMetricConfig_MetricType") -Or ($_ -eq "Update-CWASServiceLevelObjective/SliMetricConfig_MetricType") } @@ -2923,6 +2940,8 @@ $CWAS_Completers = { $CWAS_map = @{ "CalendarInterval_DurationUnit"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") + "RequestBasedSliConfig_ComparisonOperator"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") + "RequestBasedSliMetricConfig_MetricType"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") "RollingInterval_DurationUnit"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") "SliConfig_ComparisonOperator"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") "SliMetricConfig_MetricType"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") @@ -3829,7 +3848,7 @@ $ASYN_Completers = { ($_ -eq "Update-ASYNGraphqlApi/LogConfig_FieldLogLevel") } { - $v = "ALL","ERROR","NONE" + $v = "ALL","DEBUG","ERROR","INFO","NONE" break } @@ -4499,7 +4518,7 @@ $ATH_Completers = { ($_ -eq "Update-ATHDataCatalog/Type") } { - $v = "GLUE","HIVE","LAMBDA" + $v = "FEDERATED","GLUE","HIVE","LAMBDA" break } @@ -6420,6 +6439,7 @@ $BDR_SelectMap = @{ "Get-BDRFoundationModel", "Get-BDRGuardrail", "Get-BDRImportedModel", + "Get-BDRInferenceProfile", "Get-BDRModelCopyJob", "Get-BDRModelCustomizationJob", "Get-BDRModelImportJob", @@ -6431,6 +6451,7 @@ $BDR_SelectMap = @{ "Get-BDRFoundationModelList", "Get-BDRGuardrailList", "Get-BDRImportedModelList", + "Get-BDRInferenceProfileList", "Get-BDRModelCopyJobList", "Get-BDRModelCustomizationJobList", "Get-BDRModelImportJobList", @@ -12665,7 +12686,7 @@ $CB_Completers = { # Amazon.CodeBuild.WebhookScopeType "New-CBWebhook/ScopeConfiguration_Scope" { - $v = "GITHUB_GLOBAL","GITHUB_ORGANIZATION" + $v = "GITHUB_GLOBAL","GITHUB_ORGANIZATION","GITLAB_GROUP" break } @@ -13258,6 +13279,16 @@ $CCON_Completers = { break } + # Amazon.CodeConnections.PullRequestComment + { + ($_ -eq "New-CCONSyncConfiguration/PullRequestComment") -Or + ($_ -eq "Update-CCONSyncConfiguration/PullRequestComment") + } + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.CodeConnections.SyncConfigurationType { ($_ -eq "Get-CCONRepositorySyncDefinitionList/SyncType") -Or @@ -13298,6 +13329,7 @@ $CCON_map = @{ "ProviderType"=@("New-CCONConnection","New-CCONHost") "ProviderTypeFilter"=@("Get-CCONConnectionList") "PublishDeploymentStatus"=@("New-CCONSyncConfiguration","Update-CCONSyncConfiguration") + "PullRequestComment"=@("New-CCONSyncConfiguration","Update-CCONSyncConfiguration") "SyncType"=@("Get-CCONRepositorySyncDefinitionList","Get-CCONRepositorySyncStatus","Get-CCONResourceSyncStatus","Get-CCONSyncBlockerSummary","Get-CCONSyncConfiguration","Get-CCONSyncConfigurationList","New-CCONSyncConfiguration","Remove-CCONSyncConfiguration","Update-CCONSyncBlocker","Update-CCONSyncConfiguration") "TriggerResourceUpdateOn"=@("New-CCONSyncConfiguration","Update-CCONSyncConfiguration") } @@ -14662,7 +14694,7 @@ $CGIP_Completers = { ($_ -eq "Send-CGIPAuthChallengeResponseAdmin/ChallengeName") } { - $v = "ADMIN_NO_SRP_AUTH","CUSTOM_CHALLENGE","DEVICE_PASSWORD_VERIFIER","DEVICE_SRP_AUTH","MFA_SETUP","NEW_PASSWORD_REQUIRED","PASSWORD_VERIFIER","SELECT_MFA_TYPE","SMS_MFA","SOFTWARE_TOKEN_MFA" + $v = "ADMIN_NO_SRP_AUTH","CUSTOM_CHALLENGE","DEVICE_PASSWORD_VERIFIER","DEVICE_SRP_AUTH","EMAIL_OTP","MFA_SETUP","NEW_PASSWORD_REQUIRED","PASSWORD_VERIFIER","SELECT_MFA_TYPE","SMS_MFA","SOFTWARE_TOKEN_MFA" break } @@ -16524,7 +16556,7 @@ $CONN_Completers = { ($_ -eq "Search-CONNVocabulary/LanguageCode") } { - $v = "ar-AE","de-CH","de-DE","en-AB","en-AU","en-GB","en-IE","en-IN","en-NZ","en-US","en-WL","en-ZA","es-ES","es-US","fr-CA","fr-FR","hi-IN","it-IT","ja-JP","ko-KR","pt-BR","pt-PT","zh-CN" + $v = "ar-AE","ca-ES","da-DK","de-CH","de-DE","en-AB","en-AU","en-GB","en-IE","en-IN","en-NZ","en-US","en-WL","en-ZA","es-ES","es-US","fi-FI","fr-CA","fr-FR","hi-IN","id-ID","it-IT","ja-JP","ko-KR","ms-MY","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","sv-SE","tl-PH","zh-CN" break } @@ -18854,6 +18886,17 @@ $DZ_Completers = { break } + # Amazon.DataZone.DataZoneEntityType + { + ($_ -eq "Add-DZEntityOwner/EntityType") -Or + ($_ -eq "Get-DZEntityOwnerList/EntityType") -Or + ($_ -eq "Remove-DZEntityOwner/EntityType") + } + { + $v = "DOMAIN_UNIT" + break + } + # Amazon.DataZone.DomainStatus "Get-DZDomainList/Status" { @@ -18861,6 +18904,16 @@ $DZ_Completers = { break } + # Amazon.DataZone.DomainUnitDesignation + { + ($_ -eq "Add-DZPolicyGrant/DomainUnit_DomainUnitDesignation") -Or + ($_ -eq "Remove-DZPolicyGrant/DomainUnit_DomainUnitDesignation") + } + { + $v = "OWNER" + break + } + # Amazon.DataZone.EdgeDirection "Get-DZLineageNodeHistoryList/Direction" { @@ -18947,6 +19000,17 @@ $DZ_Completers = { break } + # Amazon.DataZone.ManagedPolicyType + { + ($_ -eq "Add-DZPolicyGrant/PolicyType") -Or + ($_ -eq "Get-DZPolicyGrantList/PolicyType") -Or + ($_ -eq "Remove-DZPolicyGrant/PolicyType") + } + { + $v = "ADD_TO_PROJECT_MEMBER_POOL","CREATE_ASSET_TYPE","CREATE_DOMAIN_UNIT","CREATE_ENVIRONMENT","CREATE_ENVIRONMENT_PROFILE","CREATE_FORM_TYPE","CREATE_GLOSSARY","CREATE_PROJECT","DELEGATE_CREATE_ENVIRONMENT_PROFILE","OVERRIDE_DOMAIN_UNIT_OWNERS","OVERRIDE_PROJECT_OWNERS" + break + } + # Amazon.DataZone.MetadataGenerationRunStatus "Get-DZMetadataGenerationRunList/Status" { @@ -18978,6 +19042,16 @@ $DZ_Completers = { break } + # Amazon.DataZone.ProjectDesignation + { + ($_ -eq "Add-DZPolicyGrant/Project_ProjectDesignation") -Or + ($_ -eq "Remove-DZPolicyGrant/Project_ProjectDesignation") + } + { + $v = "CONTRIBUTOR","OWNER" + break + } + # Amazon.DataZone.RejectRuleBehavior "Deny-DZPrediction/RejectRule_Rule" { @@ -19042,6 +19116,17 @@ $DZ_Completers = { break } + # Amazon.DataZone.TargetEntityType + { + ($_ -eq "Add-DZPolicyGrant/EntityType") -Or + ($_ -eq "Get-DZPolicyGrantList/EntityType") -Or + ($_ -eq "Remove-DZPolicyGrant/EntityType") + } + { + $v = "DOMAIN_UNIT","ENVIRONMENT_BLUEPRINT_CONFIGURATION","ENVIRONMENT_PROFILE" + break + } + # Amazon.DataZone.TaskStatus "Get-DZNotificationList/TaskStatus" { @@ -19139,9 +19224,12 @@ $DZ_map = @{ "Action"=@("New-DZListingChangeSet") "Designation"=@("New-DZProjectMembership") "Direction"=@("Get-DZLineageNodeHistoryList") + "DomainUnit_DomainUnitDesignation"=@("Add-DZPolicyGrant","Remove-DZPolicyGrant") "EnableSetting"=@("New-DZDataSource","Update-DZDataSource") - "EntityType"=@("Get-DZTimeSeriesDataPoint","Get-DZTimeSeriesDataPointList","New-DZListingChangeSet","New-DZTimeSeriesDataPoint","Remove-DZTimeSeriesDataPoint") + "EntityType"=@("Add-DZEntityOwner","Add-DZPolicyGrant","Get-DZEntityOwnerList","Get-DZPolicyGrantList","Get-DZTimeSeriesDataPoint","Get-DZTimeSeriesDataPointList","New-DZListingChangeSet","New-DZTimeSeriesDataPoint","Remove-DZEntityOwner","Remove-DZPolicyGrant","Remove-DZTimeSeriesDataPoint") "GroupType"=@("Search-DZGroupProfile") + "PolicyType"=@("Add-DZPolicyGrant","Get-DZPolicyGrantList","Remove-DZPolicyGrant") + "Project_ProjectDesignation"=@("Add-DZPolicyGrant","Remove-DZPolicyGrant") "RejectRule_Rule"=@("Deny-DZPrediction") "Schedule_Timezone"=@("New-DZDataSource","Update-DZDataSource") "SearchScope"=@("Search-DZResource","Search-DZType") @@ -19209,6 +19297,8 @@ $DZ_SelectCompleters = { $DZ_SelectMap = @{ "Select"=@("Approve-DZPrediction", "Approve-DZSubscriptionRequest", + "Add-DZEntityOwner", + "Add-DZPolicyGrant", "Set-DZEnvironmentRole", "Stop-DZMetadataGenerationRun", "Stop-DZSubscription", @@ -19220,6 +19310,7 @@ $DZ_SelectMap = @{ "New-DZDataProductRevision", "New-DZDataSource", "New-DZDomain", + "New-DZDomainUnit", "New-DZEnvironment", "New-DZEnvironmentAction", "New-DZEnvironmentProfile", @@ -19240,6 +19331,7 @@ $DZ_SelectMap = @{ "Remove-DZDataProduct", "Remove-DZDataSource", "Remove-DZDomain", + "Remove-DZDomainUnit", "Remove-DZEnvironment", "Remove-DZEnvironmentAction", "Remove-DZEnvironmentBlueprintConfiguration", @@ -19262,6 +19354,7 @@ $DZ_SelectMap = @{ "Get-DZDataSource", "Get-DZDataSourceRun", "Get-DZDomain", + "Get-DZDomainUnit", "Get-DZEnvironment", "Get-DZEnvironmentAction", "Get-DZEnvironmentBlueprint", @@ -19290,6 +19383,8 @@ $DZ_SelectMap = @{ "Get-DZDataSourceRunList", "Get-DZDataSourceList", "Get-DZDomainList", + "Get-DZDomainUnitsForParentList", + "Get-DZEntityOwnerList", "Get-DZEnvironmentActionList", "Get-DZEnvironmentBlueprintConfigurationList", "Get-DZEnvironmentBlueprintList", @@ -19298,6 +19393,7 @@ $DZ_SelectMap = @{ "Get-DZLineageNodeHistoryList", "Get-DZMetadataGenerationRunList", "Get-DZNotificationList", + "Get-DZPolicyGrantList", "Get-DZProjectMembershipList", "Get-DZProjectList", "Get-DZSubscriptionGrantList", @@ -19311,6 +19407,8 @@ $DZ_SelectMap = @{ "Write-DZEnvironmentBlueprintConfiguration", "Deny-DZPrediction", "Deny-DZSubscriptionRequest", + "Remove-DZEntityOwner", + "Remove-DZPolicyGrant", "Revoke-DZSubscription", "Search-DZResource", "Search-DZGroupProfile", @@ -19324,6 +19422,7 @@ $DZ_SelectMap = @{ "Update-DZAssetFilter", "Update-DZDataSource", "Update-DZDomain", + "Update-DZDomainUnit", "Update-DZEnvironment", "Update-DZEnvironmentAction", "Update-DZEnvironmentProfile", @@ -20075,7 +20174,7 @@ $DF_Completers = { ($_ -eq "Get-DFDevicePoolCompatibility/TestType") } { - $v = "APPIUM_JAVA_JUNIT","APPIUM_JAVA_TESTNG","APPIUM_NODE","APPIUM_PYTHON","APPIUM_RUBY","APPIUM_WEB_JAVA_JUNIT","APPIUM_WEB_JAVA_TESTNG","APPIUM_WEB_NODE","APPIUM_WEB_PYTHON","APPIUM_WEB_RUBY","BUILTIN_EXPLORER","BUILTIN_FUZZ","CALABASH","INSTRUMENTATION","REMOTE_ACCESS_RECORD","REMOTE_ACCESS_REPLAY","UIAUTOMATION","UIAUTOMATOR","WEB_PERFORMANCE_PROFILE","XCTEST","XCTEST_UI" + $v = "APPIUM_JAVA_JUNIT","APPIUM_JAVA_TESTNG","APPIUM_NODE","APPIUM_PYTHON","APPIUM_RUBY","APPIUM_WEB_JAVA_JUNIT","APPIUM_WEB_JAVA_TESTNG","APPIUM_WEB_NODE","APPIUM_WEB_PYTHON","APPIUM_WEB_RUBY","BUILTIN_FUZZ","INSTRUMENTATION","XCTEST","XCTEST_UI" break } @@ -20612,6 +20711,128 @@ $DC_SelectMap = @{ } _awsArgumentCompleterRegistration $DC_SelectCompleters $DC_SelectMap +# Argument completions for service AWS Directory Service Data + + +$DSD_Completers = { + param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) + + switch ($("$commandName/$parameterName")) + { + # Amazon.DirectoryServiceData.GroupScope + { + ($_ -eq "New-DSDGroup/GroupScope") -Or + ($_ -eq "Update-DSDGroup/GroupScope") + } + { + $v = "BuiltinLocal","DomainLocal","Global","Universal" + break + } + + # Amazon.DirectoryServiceData.GroupType + { + ($_ -eq "New-DSDGroup/GroupType") -Or + ($_ -eq "Update-DSDGroup/GroupType") + } + { + $v = "Distribution","Security" + break + } + + # Amazon.DirectoryServiceData.UpdateType + { + ($_ -eq "Update-DSDGroup/UpdateType") -Or + ($_ -eq "Update-DSDUser/UpdateType") + } + { + $v = "ADD","REMOVE","REPLACE" + break + } + + + } + + $v | + Where-Object { $_ -like "$wordToComplete*" } | + ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } +} + +$DSD_map = @{ + "GroupScope"=@("New-DSDGroup","Update-DSDGroup") + "GroupType"=@("New-DSDGroup","Update-DSDGroup") + "UpdateType"=@("Update-DSDGroup","Update-DSDUser") +} + +_awsArgumentCompleterRegistration $DSD_Completers $DSD_map + +$DSD_SelectCompleters = { + param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) + + $cmdletType = Invoke-Expression "[Amazon.PowerShell.Cmdlets.DSD.$($commandName.Replace('-', ''))Cmdlet]" + if (-not $cmdletType) { + return + } + $awsCmdletAttribute = $cmdletType.GetCustomAttributes([Amazon.PowerShell.Common.AWSCmdletAttribute], $false) + if (-not $awsCmdletAttribute) { + return + } + $type = $awsCmdletAttribute.SelectReturnType + if (-not $type) { + return + } + + $splitSelect = $wordToComplete -Split '\.' + $splitSelect | Select-Object -First ($splitSelect.Length - 1) | ForEach-Object { + $propertyName = $_ + $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')) | Where-Object { $_.Name -ieq $propertyName } + if ($properties.Length -ne 1) { + break + } + $type = $properties.PropertyType + $prefix += "$($properties.Name)." + + $asEnumerableType = $type.GetInterface('System.Collections.Generic.IEnumerable`1') + if ($asEnumerableType -and $type -ne [System.String]) { + $type = $asEnumerableType.GetGenericArguments()[0] + } + } + + $v = @( '*' ) + $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')).Name | Sort-Object + if ($properties) { + $v += ($properties | ForEach-Object { $prefix + $_ }) + } + $parameters = $cmdletType.GetProperties(('Instance', 'Public')) | Where-Object { $_.GetCustomAttributes([System.Management.Automation.ParameterAttribute], $true) } | Select-Object -ExpandProperty Name | Sort-Object + if ($parameters) { + $v += ($parameters | ForEach-Object { "^$_" }) + } + + $v | + Where-Object { $_ -match "^$([System.Text.RegularExpressions.Regex]::Escape($wordToComplete)).*" } | + ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } +} + +$DSD_SelectMap = @{ + "Select"=@("Add-DSDGroupMember", + "New-DSDGroup", + "New-DSDUser", + "Remove-DSDGroup", + "Remove-DSDUser", + "Get-DSDGroup", + "Get-DSDUser", + "Disable-DSDUser", + "Get-DSDGroupMemberList", + "Get-DSDGroupList", + "Get-DSDGroupsForMemberList", + "Get-DSDUserList", + "Remove-DSDGroupMember", + "Search-DSDGroup", + "Search-DSDUser", + "Update-DSDGroup", + "Update-DSDUser") +} + +_awsArgumentCompleterRegistration $DSD_SelectCompleters $DSD_SelectMap # Argument completions for service AWS Application Discovery Service @@ -22142,6 +22363,7 @@ $DS_SelectMap = @{ "Get-DSClientAuthenticationSetting", "Get-DSConditionalForwarder", "Get-DSDirectory", + "Get-DSDirectoryDataAccess", "Get-DSDomainControllerList", "Get-DSEventTopic", "Get-DSLDAPSSetting", @@ -22152,10 +22374,12 @@ $DS_SelectMap = @{ "Get-DSTrust", "Get-DSUpdateDirectory", "Disable-DSClientAuthentication", + "Disable-DSDirectoryDataAccess", "Disable-DSLDAPS", "Disable-DSRadius", "Disable-DSSso", "Enable-DSClientAuthentication", + "Enable-DSDirectoryDataAccess", "Enable-DSLDAPS", "Enable-DSRadius", "Enable-DSSso", @@ -23110,7 +23334,7 @@ $EC2_Completers = { # Amazon.EC2.FleetCapacityReservationUsageStrategy "New-EC2Fleet/CapacityReservationOptions_UsageStrategy" { - $v = "use-capacity-reservations-first" + $v = "none","use-capacity-reservations-first","use-capacity-reservations-only" break } @@ -23343,7 +23567,7 @@ $EC2_Completers = { ($_ -eq "Request-EC2SpotInstance/LaunchSpecification_InstanceType") } { - $v = "a1.2xlarge","a1.4xlarge","a1.large","a1.medium","a1.metal","a1.xlarge","c1.medium","c1.xlarge","c3.2xlarge","c3.4xlarge","c3.8xlarge","c3.large","c3.xlarge","c4.2xlarge","c4.4xlarge","c4.8xlarge","c4.large","c4.xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.large","c5.metal","c5.xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.large","c5a.xlarge","c5ad.12xlarge","c5ad.16xlarge","c5ad.24xlarge","c5ad.2xlarge","c5ad.4xlarge","c5ad.8xlarge","c5ad.large","c5ad.xlarge","c5d.12xlarge","c5d.18xlarge","c5d.24xlarge","c5d.2xlarge","c5d.4xlarge","c5d.9xlarge","c5d.large","c5d.metal","c5d.xlarge","c5n.18xlarge","c5n.2xlarge","c5n.4xlarge","c5n.9xlarge","c5n.large","c5n.metal","c5n.xlarge","c6a.12xlarge","c6a.16xlarge","c6a.24xlarge","c6a.2xlarge","c6a.32xlarge","c6a.48xlarge","c6a.4xlarge","c6a.8xlarge","c6a.large","c6a.metal","c6a.xlarge","c6g.12xlarge","c6g.16xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.large","c6g.medium","c6g.metal","c6g.xlarge","c6gd.12xlarge","c6gd.16xlarge","c6gd.2xlarge","c6gd.4xlarge","c6gd.8xlarge","c6gd.large","c6gd.medium","c6gd.metal","c6gd.xlarge","c6gn.12xlarge","c6gn.16xlarge","c6gn.2xlarge","c6gn.4xlarge","c6gn.8xlarge","c6gn.large","c6gn.medium","c6gn.xlarge","c6i.12xlarge","c6i.16xlarge","c6i.24xlarge","c6i.2xlarge","c6i.32xlarge","c6i.4xlarge","c6i.8xlarge","c6i.large","c6i.metal","c6i.xlarge","c6id.12xlarge","c6id.16xlarge","c6id.24xlarge","c6id.2xlarge","c6id.32xlarge","c6id.4xlarge","c6id.8xlarge","c6id.large","c6id.metal","c6id.xlarge","c6in.12xlarge","c6in.16xlarge","c6in.24xlarge","c6in.2xlarge","c6in.32xlarge","c6in.4xlarge","c6in.8xlarge","c6in.large","c6in.metal","c6in.xlarge","c7a.12xlarge","c7a.16xlarge","c7a.24xlarge","c7a.2xlarge","c7a.32xlarge","c7a.48xlarge","c7a.4xlarge","c7a.8xlarge","c7a.large","c7a.medium","c7a.metal-48xl","c7a.xlarge","c7g.12xlarge","c7g.16xlarge","c7g.2xlarge","c7g.4xlarge","c7g.8xlarge","c7g.large","c7g.medium","c7g.metal","c7g.xlarge","c7gd.12xlarge","c7gd.16xlarge","c7gd.2xlarge","c7gd.4xlarge","c7gd.8xlarge","c7gd.large","c7gd.medium","c7gd.metal","c7gd.xlarge","c7gn.12xlarge","c7gn.16xlarge","c7gn.2xlarge","c7gn.4xlarge","c7gn.8xlarge","c7gn.large","c7gn.medium","c7gn.metal","c7gn.xlarge","c7i-flex.2xlarge","c7i-flex.4xlarge","c7i-flex.8xlarge","c7i-flex.large","c7i-flex.xlarge","c7i.12xlarge","c7i.16xlarge","c7i.24xlarge","c7i.2xlarge","c7i.48xlarge","c7i.4xlarge","c7i.8xlarge","c7i.large","c7i.metal-24xl","c7i.metal-48xl","c7i.xlarge","cc1.4xlarge","cc2.8xlarge","cg1.4xlarge","cr1.8xlarge","d2.2xlarge","d2.4xlarge","d2.8xlarge","d2.xlarge","d3.2xlarge","d3.4xlarge","d3.8xlarge","d3.xlarge","d3en.12xlarge","d3en.2xlarge","d3en.4xlarge","d3en.6xlarge","d3en.8xlarge","d3en.xlarge","dl1.24xlarge","dl2q.24xlarge","f1.16xlarge","f1.2xlarge","f1.4xlarge","g2.2xlarge","g2.8xlarge","g3.16xlarge","g3.4xlarge","g3.8xlarge","g3s.xlarge","g4ad.16xlarge","g4ad.2xlarge","g4ad.4xlarge","g4ad.8xlarge","g4ad.xlarge","g4dn.12xlarge","g4dn.16xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.metal","g4dn.xlarge","g5.12xlarge","g5.16xlarge","g5.24xlarge","g5.2xlarge","g5.48xlarge","g5.4xlarge","g5.8xlarge","g5.xlarge","g5g.16xlarge","g5g.2xlarge","g5g.4xlarge","g5g.8xlarge","g5g.metal","g5g.xlarge","g6.12xlarge","g6.16xlarge","g6.24xlarge","g6.2xlarge","g6.48xlarge","g6.4xlarge","g6.8xlarge","g6.xlarge","gr6.4xlarge","gr6.8xlarge","h1.16xlarge","h1.2xlarge","h1.4xlarge","h1.8xlarge","hi1.4xlarge","hpc6a.48xlarge","hpc6id.32xlarge","hpc7a.12xlarge","hpc7a.24xlarge","hpc7a.48xlarge","hpc7a.96xlarge","hpc7g.16xlarge","hpc7g.4xlarge","hpc7g.8xlarge","hs1.8xlarge","i2.2xlarge","i2.4xlarge","i2.8xlarge","i2.xlarge","i3.16xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.large","i3.metal","i3.xlarge","i3en.12xlarge","i3en.24xlarge","i3en.2xlarge","i3en.3xlarge","i3en.6xlarge","i3en.large","i3en.metal","i3en.xlarge","i4g.16xlarge","i4g.2xlarge","i4g.4xlarge","i4g.8xlarge","i4g.large","i4g.xlarge","i4i.12xlarge","i4i.16xlarge","i4i.24xlarge","i4i.2xlarge","i4i.32xlarge","i4i.4xlarge","i4i.8xlarge","i4i.large","i4i.metal","i4i.xlarge","im4gn.16xlarge","im4gn.2xlarge","im4gn.4xlarge","im4gn.8xlarge","im4gn.large","im4gn.xlarge","inf1.24xlarge","inf1.2xlarge","inf1.6xlarge","inf1.xlarge","inf2.24xlarge","inf2.48xlarge","inf2.8xlarge","inf2.xlarge","is4gen.2xlarge","is4gen.4xlarge","is4gen.8xlarge","is4gen.large","is4gen.medium","is4gen.xlarge","m1.large","m1.medium","m1.small","m1.xlarge","m2.2xlarge","m2.4xlarge","m2.xlarge","m3.2xlarge","m3.large","m3.medium","m3.xlarge","m4.10xlarge","m4.16xlarge","m4.2xlarge","m4.4xlarge","m4.large","m4.xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.large","m5.metal","m5.xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.large","m5a.xlarge","m5ad.12xlarge","m5ad.16xlarge","m5ad.24xlarge","m5ad.2xlarge","m5ad.4xlarge","m5ad.8xlarge","m5ad.large","m5ad.xlarge","m5d.12xlarge","m5d.16xlarge","m5d.24xlarge","m5d.2xlarge","m5d.4xlarge","m5d.8xlarge","m5d.large","m5d.metal","m5d.xlarge","m5dn.12xlarge","m5dn.16xlarge","m5dn.24xlarge","m5dn.2xlarge","m5dn.4xlarge","m5dn.8xlarge","m5dn.large","m5dn.metal","m5dn.xlarge","m5n.12xlarge","m5n.16xlarge","m5n.24xlarge","m5n.2xlarge","m5n.4xlarge","m5n.8xlarge","m5n.large","m5n.metal","m5n.xlarge","m5zn.12xlarge","m5zn.2xlarge","m5zn.3xlarge","m5zn.6xlarge","m5zn.large","m5zn.metal","m5zn.xlarge","m6a.12xlarge","m6a.16xlarge","m6a.24xlarge","m6a.2xlarge","m6a.32xlarge","m6a.48xlarge","m6a.4xlarge","m6a.8xlarge","m6a.large","m6a.metal","m6a.xlarge","m6g.12xlarge","m6g.16xlarge","m6g.2xlarge","m6g.4xlarge","m6g.8xlarge","m6g.large","m6g.medium","m6g.metal","m6g.xlarge","m6gd.12xlarge","m6gd.16xlarge","m6gd.2xlarge","m6gd.4xlarge","m6gd.8xlarge","m6gd.large","m6gd.medium","m6gd.metal","m6gd.xlarge","m6i.12xlarge","m6i.16xlarge","m6i.24xlarge","m6i.2xlarge","m6i.32xlarge","m6i.4xlarge","m6i.8xlarge","m6i.large","m6i.metal","m6i.xlarge","m6id.12xlarge","m6id.16xlarge","m6id.24xlarge","m6id.2xlarge","m6id.32xlarge","m6id.4xlarge","m6id.8xlarge","m6id.large","m6id.metal","m6id.xlarge","m6idn.12xlarge","m6idn.16xlarge","m6idn.24xlarge","m6idn.2xlarge","m6idn.32xlarge","m6idn.4xlarge","m6idn.8xlarge","m6idn.large","m6idn.metal","m6idn.xlarge","m6in.12xlarge","m6in.16xlarge","m6in.24xlarge","m6in.2xlarge","m6in.32xlarge","m6in.4xlarge","m6in.8xlarge","m6in.large","m6in.metal","m6in.xlarge","m7a.12xlarge","m7a.16xlarge","m7a.24xlarge","m7a.2xlarge","m7a.32xlarge","m7a.48xlarge","m7a.4xlarge","m7a.8xlarge","m7a.large","m7a.medium","m7a.metal-48xl","m7a.xlarge","m7g.12xlarge","m7g.16xlarge","m7g.2xlarge","m7g.4xlarge","m7g.8xlarge","m7g.large","m7g.medium","m7g.metal","m7g.xlarge","m7gd.12xlarge","m7gd.16xlarge","m7gd.2xlarge","m7gd.4xlarge","m7gd.8xlarge","m7gd.large","m7gd.medium","m7gd.metal","m7gd.xlarge","m7i-flex.2xlarge","m7i-flex.4xlarge","m7i-flex.8xlarge","m7i-flex.large","m7i-flex.xlarge","m7i.12xlarge","m7i.16xlarge","m7i.24xlarge","m7i.2xlarge","m7i.48xlarge","m7i.4xlarge","m7i.8xlarge","m7i.large","m7i.metal-24xl","m7i.metal-48xl","m7i.xlarge","mac1.metal","mac2-m1ultra.metal","mac2-m2.metal","mac2-m2pro.metal","mac2.metal","p2.16xlarge","p2.8xlarge","p2.xlarge","p3.16xlarge","p3.2xlarge","p3.8xlarge","p3dn.24xlarge","p4d.24xlarge","p4de.24xlarge","p5.48xlarge","r3.2xlarge","r3.4xlarge","r3.8xlarge","r3.large","r3.xlarge","r4.16xlarge","r4.2xlarge","r4.4xlarge","r4.8xlarge","r4.large","r4.xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.large","r5.metal","r5.xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.large","r5a.xlarge","r5ad.12xlarge","r5ad.16xlarge","r5ad.24xlarge","r5ad.2xlarge","r5ad.4xlarge","r5ad.8xlarge","r5ad.large","r5ad.xlarge","r5b.12xlarge","r5b.16xlarge","r5b.24xlarge","r5b.2xlarge","r5b.4xlarge","r5b.8xlarge","r5b.large","r5b.metal","r5b.xlarge","r5d.12xlarge","r5d.16xlarge","r5d.24xlarge","r5d.2xlarge","r5d.4xlarge","r5d.8xlarge","r5d.large","r5d.metal","r5d.xlarge","r5dn.12xlarge","r5dn.16xlarge","r5dn.24xlarge","r5dn.2xlarge","r5dn.4xlarge","r5dn.8xlarge","r5dn.large","r5dn.metal","r5dn.xlarge","r5n.12xlarge","r5n.16xlarge","r5n.24xlarge","r5n.2xlarge","r5n.4xlarge","r5n.8xlarge","r5n.large","r5n.metal","r5n.xlarge","r6a.12xlarge","r6a.16xlarge","r6a.24xlarge","r6a.2xlarge","r6a.32xlarge","r6a.48xlarge","r6a.4xlarge","r6a.8xlarge","r6a.large","r6a.metal","r6a.xlarge","r6g.12xlarge","r6g.16xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.large","r6g.medium","r6g.metal","r6g.xlarge","r6gd.12xlarge","r6gd.16xlarge","r6gd.2xlarge","r6gd.4xlarge","r6gd.8xlarge","r6gd.large","r6gd.medium","r6gd.metal","r6gd.xlarge","r6i.12xlarge","r6i.16xlarge","r6i.24xlarge","r6i.2xlarge","r6i.32xlarge","r6i.4xlarge","r6i.8xlarge","r6i.large","r6i.metal","r6i.xlarge","r6id.12xlarge","r6id.16xlarge","r6id.24xlarge","r6id.2xlarge","r6id.32xlarge","r6id.4xlarge","r6id.8xlarge","r6id.large","r6id.metal","r6id.xlarge","r6idn.12xlarge","r6idn.16xlarge","r6idn.24xlarge","r6idn.2xlarge","r6idn.32xlarge","r6idn.4xlarge","r6idn.8xlarge","r6idn.large","r6idn.metal","r6idn.xlarge","r6in.12xlarge","r6in.16xlarge","r6in.24xlarge","r6in.2xlarge","r6in.32xlarge","r6in.4xlarge","r6in.8xlarge","r6in.large","r6in.metal","r6in.xlarge","r7a.12xlarge","r7a.16xlarge","r7a.24xlarge","r7a.2xlarge","r7a.32xlarge","r7a.48xlarge","r7a.4xlarge","r7a.8xlarge","r7a.large","r7a.medium","r7a.metal-48xl","r7a.xlarge","r7g.12xlarge","r7g.16xlarge","r7g.2xlarge","r7g.4xlarge","r7g.8xlarge","r7g.large","r7g.medium","r7g.metal","r7g.xlarge","r7gd.12xlarge","r7gd.16xlarge","r7gd.2xlarge","r7gd.4xlarge","r7gd.8xlarge","r7gd.large","r7gd.medium","r7gd.metal","r7gd.xlarge","r7i.12xlarge","r7i.16xlarge","r7i.24xlarge","r7i.2xlarge","r7i.48xlarge","r7i.4xlarge","r7i.8xlarge","r7i.large","r7i.metal-24xl","r7i.metal-48xl","r7i.xlarge","r7iz.12xlarge","r7iz.16xlarge","r7iz.2xlarge","r7iz.32xlarge","r7iz.4xlarge","r7iz.8xlarge","r7iz.large","r7iz.metal-16xl","r7iz.metal-32xl","r7iz.xlarge","r8g.12xlarge","r8g.16xlarge","r8g.24xlarge","r8g.2xlarge","r8g.48xlarge","r8g.4xlarge","r8g.8xlarge","r8g.large","r8g.medium","r8g.metal-24xl","r8g.metal-48xl","r8g.xlarge","t1.micro","t2.2xlarge","t2.large","t2.medium","t2.micro","t2.nano","t2.small","t2.xlarge","t3.2xlarge","t3.large","t3.medium","t3.micro","t3.nano","t3.small","t3.xlarge","t3a.2xlarge","t3a.large","t3a.medium","t3a.micro","t3a.nano","t3a.small","t3a.xlarge","t4g.2xlarge","t4g.large","t4g.medium","t4g.micro","t4g.nano","t4g.small","t4g.xlarge","trn1.2xlarge","trn1.32xlarge","trn1n.32xlarge","u-12tb1.112xlarge","u-12tb1.metal","u-18tb1.112xlarge","u-18tb1.metal","u-24tb1.112xlarge","u-24tb1.metal","u-3tb1.56xlarge","u-6tb1.112xlarge","u-6tb1.56xlarge","u-6tb1.metal","u-9tb1.112xlarge","u-9tb1.metal","u7i-12tb.224xlarge","u7ib-12tb.224xlarge","u7in-16tb.224xlarge","u7in-24tb.224xlarge","u7in-32tb.224xlarge","vt1.24xlarge","vt1.3xlarge","vt1.6xlarge","x1.16xlarge","x1.32xlarge","x1e.16xlarge","x1e.2xlarge","x1e.32xlarge","x1e.4xlarge","x1e.8xlarge","x1e.xlarge","x2gd.12xlarge","x2gd.16xlarge","x2gd.2xlarge","x2gd.4xlarge","x2gd.8xlarge","x2gd.large","x2gd.medium","x2gd.metal","x2gd.xlarge","x2idn.16xlarge","x2idn.24xlarge","x2idn.32xlarge","x2idn.metal","x2iedn.16xlarge","x2iedn.24xlarge","x2iedn.2xlarge","x2iedn.32xlarge","x2iedn.4xlarge","x2iedn.8xlarge","x2iedn.metal","x2iedn.xlarge","x2iezn.12xlarge","x2iezn.2xlarge","x2iezn.4xlarge","x2iezn.6xlarge","x2iezn.8xlarge","x2iezn.metal","z1d.12xlarge","z1d.2xlarge","z1d.3xlarge","z1d.6xlarge","z1d.large","z1d.metal","z1d.xlarge" + $v = "a1.2xlarge","a1.4xlarge","a1.large","a1.medium","a1.metal","a1.xlarge","c1.medium","c1.xlarge","c3.2xlarge","c3.4xlarge","c3.8xlarge","c3.large","c3.xlarge","c4.2xlarge","c4.4xlarge","c4.8xlarge","c4.large","c4.xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.large","c5.metal","c5.xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.large","c5a.xlarge","c5ad.12xlarge","c5ad.16xlarge","c5ad.24xlarge","c5ad.2xlarge","c5ad.4xlarge","c5ad.8xlarge","c5ad.large","c5ad.xlarge","c5d.12xlarge","c5d.18xlarge","c5d.24xlarge","c5d.2xlarge","c5d.4xlarge","c5d.9xlarge","c5d.large","c5d.metal","c5d.xlarge","c5n.18xlarge","c5n.2xlarge","c5n.4xlarge","c5n.9xlarge","c5n.large","c5n.metal","c5n.xlarge","c6a.12xlarge","c6a.16xlarge","c6a.24xlarge","c6a.2xlarge","c6a.32xlarge","c6a.48xlarge","c6a.4xlarge","c6a.8xlarge","c6a.large","c6a.metal","c6a.xlarge","c6g.12xlarge","c6g.16xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.large","c6g.medium","c6g.metal","c6g.xlarge","c6gd.12xlarge","c6gd.16xlarge","c6gd.2xlarge","c6gd.4xlarge","c6gd.8xlarge","c6gd.large","c6gd.medium","c6gd.metal","c6gd.xlarge","c6gn.12xlarge","c6gn.16xlarge","c6gn.2xlarge","c6gn.4xlarge","c6gn.8xlarge","c6gn.large","c6gn.medium","c6gn.xlarge","c6i.12xlarge","c6i.16xlarge","c6i.24xlarge","c6i.2xlarge","c6i.32xlarge","c6i.4xlarge","c6i.8xlarge","c6i.large","c6i.metal","c6i.xlarge","c6id.12xlarge","c6id.16xlarge","c6id.24xlarge","c6id.2xlarge","c6id.32xlarge","c6id.4xlarge","c6id.8xlarge","c6id.large","c6id.metal","c6id.xlarge","c6in.12xlarge","c6in.16xlarge","c6in.24xlarge","c6in.2xlarge","c6in.32xlarge","c6in.4xlarge","c6in.8xlarge","c6in.large","c6in.metal","c6in.xlarge","c7a.12xlarge","c7a.16xlarge","c7a.24xlarge","c7a.2xlarge","c7a.32xlarge","c7a.48xlarge","c7a.4xlarge","c7a.8xlarge","c7a.large","c7a.medium","c7a.metal-48xl","c7a.xlarge","c7g.12xlarge","c7g.16xlarge","c7g.2xlarge","c7g.4xlarge","c7g.8xlarge","c7g.large","c7g.medium","c7g.metal","c7g.xlarge","c7gd.12xlarge","c7gd.16xlarge","c7gd.2xlarge","c7gd.4xlarge","c7gd.8xlarge","c7gd.large","c7gd.medium","c7gd.metal","c7gd.xlarge","c7gn.12xlarge","c7gn.16xlarge","c7gn.2xlarge","c7gn.4xlarge","c7gn.8xlarge","c7gn.large","c7gn.medium","c7gn.metal","c7gn.xlarge","c7i-flex.2xlarge","c7i-flex.4xlarge","c7i-flex.8xlarge","c7i-flex.large","c7i-flex.xlarge","c7i.12xlarge","c7i.16xlarge","c7i.24xlarge","c7i.2xlarge","c7i.48xlarge","c7i.4xlarge","c7i.8xlarge","c7i.large","c7i.metal-24xl","c7i.metal-48xl","c7i.xlarge","cc1.4xlarge","cc2.8xlarge","cg1.4xlarge","cr1.8xlarge","d2.2xlarge","d2.4xlarge","d2.8xlarge","d2.xlarge","d3.2xlarge","d3.4xlarge","d3.8xlarge","d3.xlarge","d3en.12xlarge","d3en.2xlarge","d3en.4xlarge","d3en.6xlarge","d3en.8xlarge","d3en.xlarge","dl1.24xlarge","dl2q.24xlarge","f1.16xlarge","f1.2xlarge","f1.4xlarge","g2.2xlarge","g2.8xlarge","g3.16xlarge","g3.4xlarge","g3.8xlarge","g3s.xlarge","g4ad.16xlarge","g4ad.2xlarge","g4ad.4xlarge","g4ad.8xlarge","g4ad.xlarge","g4dn.12xlarge","g4dn.16xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.metal","g4dn.xlarge","g5.12xlarge","g5.16xlarge","g5.24xlarge","g5.2xlarge","g5.48xlarge","g5.4xlarge","g5.8xlarge","g5.xlarge","g5g.16xlarge","g5g.2xlarge","g5g.4xlarge","g5g.8xlarge","g5g.metal","g5g.xlarge","g6.12xlarge","g6.16xlarge","g6.24xlarge","g6.2xlarge","g6.48xlarge","g6.4xlarge","g6.8xlarge","g6.xlarge","g6e.12xlarge","g6e.16xlarge","g6e.24xlarge","g6e.2xlarge","g6e.48xlarge","g6e.4xlarge","g6e.8xlarge","g6e.xlarge","gr6.4xlarge","gr6.8xlarge","h1.16xlarge","h1.2xlarge","h1.4xlarge","h1.8xlarge","hi1.4xlarge","hpc6a.48xlarge","hpc6id.32xlarge","hpc7a.12xlarge","hpc7a.24xlarge","hpc7a.48xlarge","hpc7a.96xlarge","hpc7g.16xlarge","hpc7g.4xlarge","hpc7g.8xlarge","hs1.8xlarge","i2.2xlarge","i2.4xlarge","i2.8xlarge","i2.xlarge","i3.16xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.large","i3.metal","i3.xlarge","i3en.12xlarge","i3en.24xlarge","i3en.2xlarge","i3en.3xlarge","i3en.6xlarge","i3en.large","i3en.metal","i3en.xlarge","i4g.16xlarge","i4g.2xlarge","i4g.4xlarge","i4g.8xlarge","i4g.large","i4g.xlarge","i4i.12xlarge","i4i.16xlarge","i4i.24xlarge","i4i.2xlarge","i4i.32xlarge","i4i.4xlarge","i4i.8xlarge","i4i.large","i4i.metal","i4i.xlarge","im4gn.16xlarge","im4gn.2xlarge","im4gn.4xlarge","im4gn.8xlarge","im4gn.large","im4gn.xlarge","inf1.24xlarge","inf1.2xlarge","inf1.6xlarge","inf1.xlarge","inf2.24xlarge","inf2.48xlarge","inf2.8xlarge","inf2.xlarge","is4gen.2xlarge","is4gen.4xlarge","is4gen.8xlarge","is4gen.large","is4gen.medium","is4gen.xlarge","m1.large","m1.medium","m1.small","m1.xlarge","m2.2xlarge","m2.4xlarge","m2.xlarge","m3.2xlarge","m3.large","m3.medium","m3.xlarge","m4.10xlarge","m4.16xlarge","m4.2xlarge","m4.4xlarge","m4.large","m4.xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.large","m5.metal","m5.xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.large","m5a.xlarge","m5ad.12xlarge","m5ad.16xlarge","m5ad.24xlarge","m5ad.2xlarge","m5ad.4xlarge","m5ad.8xlarge","m5ad.large","m5ad.xlarge","m5d.12xlarge","m5d.16xlarge","m5d.24xlarge","m5d.2xlarge","m5d.4xlarge","m5d.8xlarge","m5d.large","m5d.metal","m5d.xlarge","m5dn.12xlarge","m5dn.16xlarge","m5dn.24xlarge","m5dn.2xlarge","m5dn.4xlarge","m5dn.8xlarge","m5dn.large","m5dn.metal","m5dn.xlarge","m5n.12xlarge","m5n.16xlarge","m5n.24xlarge","m5n.2xlarge","m5n.4xlarge","m5n.8xlarge","m5n.large","m5n.metal","m5n.xlarge","m5zn.12xlarge","m5zn.2xlarge","m5zn.3xlarge","m5zn.6xlarge","m5zn.large","m5zn.metal","m5zn.xlarge","m6a.12xlarge","m6a.16xlarge","m6a.24xlarge","m6a.2xlarge","m6a.32xlarge","m6a.48xlarge","m6a.4xlarge","m6a.8xlarge","m6a.large","m6a.metal","m6a.xlarge","m6g.12xlarge","m6g.16xlarge","m6g.2xlarge","m6g.4xlarge","m6g.8xlarge","m6g.large","m6g.medium","m6g.metal","m6g.xlarge","m6gd.12xlarge","m6gd.16xlarge","m6gd.2xlarge","m6gd.4xlarge","m6gd.8xlarge","m6gd.large","m6gd.medium","m6gd.metal","m6gd.xlarge","m6i.12xlarge","m6i.16xlarge","m6i.24xlarge","m6i.2xlarge","m6i.32xlarge","m6i.4xlarge","m6i.8xlarge","m6i.large","m6i.metal","m6i.xlarge","m6id.12xlarge","m6id.16xlarge","m6id.24xlarge","m6id.2xlarge","m6id.32xlarge","m6id.4xlarge","m6id.8xlarge","m6id.large","m6id.metal","m6id.xlarge","m6idn.12xlarge","m6idn.16xlarge","m6idn.24xlarge","m6idn.2xlarge","m6idn.32xlarge","m6idn.4xlarge","m6idn.8xlarge","m6idn.large","m6idn.metal","m6idn.xlarge","m6in.12xlarge","m6in.16xlarge","m6in.24xlarge","m6in.2xlarge","m6in.32xlarge","m6in.4xlarge","m6in.8xlarge","m6in.large","m6in.metal","m6in.xlarge","m7a.12xlarge","m7a.16xlarge","m7a.24xlarge","m7a.2xlarge","m7a.32xlarge","m7a.48xlarge","m7a.4xlarge","m7a.8xlarge","m7a.large","m7a.medium","m7a.metal-48xl","m7a.xlarge","m7g.12xlarge","m7g.16xlarge","m7g.2xlarge","m7g.4xlarge","m7g.8xlarge","m7g.large","m7g.medium","m7g.metal","m7g.xlarge","m7gd.12xlarge","m7gd.16xlarge","m7gd.2xlarge","m7gd.4xlarge","m7gd.8xlarge","m7gd.large","m7gd.medium","m7gd.metal","m7gd.xlarge","m7i-flex.2xlarge","m7i-flex.4xlarge","m7i-flex.8xlarge","m7i-flex.large","m7i-flex.xlarge","m7i.12xlarge","m7i.16xlarge","m7i.24xlarge","m7i.2xlarge","m7i.48xlarge","m7i.4xlarge","m7i.8xlarge","m7i.large","m7i.metal-24xl","m7i.metal-48xl","m7i.xlarge","mac1.metal","mac2-m1ultra.metal","mac2-m2.metal","mac2-m2pro.metal","mac2.metal","p2.16xlarge","p2.8xlarge","p2.xlarge","p3.16xlarge","p3.2xlarge","p3.8xlarge","p3dn.24xlarge","p4d.24xlarge","p4de.24xlarge","p5.48xlarge","r3.2xlarge","r3.4xlarge","r3.8xlarge","r3.large","r3.xlarge","r4.16xlarge","r4.2xlarge","r4.4xlarge","r4.8xlarge","r4.large","r4.xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.large","r5.metal","r5.xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.large","r5a.xlarge","r5ad.12xlarge","r5ad.16xlarge","r5ad.24xlarge","r5ad.2xlarge","r5ad.4xlarge","r5ad.8xlarge","r5ad.large","r5ad.xlarge","r5b.12xlarge","r5b.16xlarge","r5b.24xlarge","r5b.2xlarge","r5b.4xlarge","r5b.8xlarge","r5b.large","r5b.metal","r5b.xlarge","r5d.12xlarge","r5d.16xlarge","r5d.24xlarge","r5d.2xlarge","r5d.4xlarge","r5d.8xlarge","r5d.large","r5d.metal","r5d.xlarge","r5dn.12xlarge","r5dn.16xlarge","r5dn.24xlarge","r5dn.2xlarge","r5dn.4xlarge","r5dn.8xlarge","r5dn.large","r5dn.metal","r5dn.xlarge","r5n.12xlarge","r5n.16xlarge","r5n.24xlarge","r5n.2xlarge","r5n.4xlarge","r5n.8xlarge","r5n.large","r5n.metal","r5n.xlarge","r6a.12xlarge","r6a.16xlarge","r6a.24xlarge","r6a.2xlarge","r6a.32xlarge","r6a.48xlarge","r6a.4xlarge","r6a.8xlarge","r6a.large","r6a.metal","r6a.xlarge","r6g.12xlarge","r6g.16xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.large","r6g.medium","r6g.metal","r6g.xlarge","r6gd.12xlarge","r6gd.16xlarge","r6gd.2xlarge","r6gd.4xlarge","r6gd.8xlarge","r6gd.large","r6gd.medium","r6gd.metal","r6gd.xlarge","r6i.12xlarge","r6i.16xlarge","r6i.24xlarge","r6i.2xlarge","r6i.32xlarge","r6i.4xlarge","r6i.8xlarge","r6i.large","r6i.metal","r6i.xlarge","r6id.12xlarge","r6id.16xlarge","r6id.24xlarge","r6id.2xlarge","r6id.32xlarge","r6id.4xlarge","r6id.8xlarge","r6id.large","r6id.metal","r6id.xlarge","r6idn.12xlarge","r6idn.16xlarge","r6idn.24xlarge","r6idn.2xlarge","r6idn.32xlarge","r6idn.4xlarge","r6idn.8xlarge","r6idn.large","r6idn.metal","r6idn.xlarge","r6in.12xlarge","r6in.16xlarge","r6in.24xlarge","r6in.2xlarge","r6in.32xlarge","r6in.4xlarge","r6in.8xlarge","r6in.large","r6in.metal","r6in.xlarge","r7a.12xlarge","r7a.16xlarge","r7a.24xlarge","r7a.2xlarge","r7a.32xlarge","r7a.48xlarge","r7a.4xlarge","r7a.8xlarge","r7a.large","r7a.medium","r7a.metal-48xl","r7a.xlarge","r7g.12xlarge","r7g.16xlarge","r7g.2xlarge","r7g.4xlarge","r7g.8xlarge","r7g.large","r7g.medium","r7g.metal","r7g.xlarge","r7gd.12xlarge","r7gd.16xlarge","r7gd.2xlarge","r7gd.4xlarge","r7gd.8xlarge","r7gd.large","r7gd.medium","r7gd.metal","r7gd.xlarge","r7i.12xlarge","r7i.16xlarge","r7i.24xlarge","r7i.2xlarge","r7i.48xlarge","r7i.4xlarge","r7i.8xlarge","r7i.large","r7i.metal-24xl","r7i.metal-48xl","r7i.xlarge","r7iz.12xlarge","r7iz.16xlarge","r7iz.2xlarge","r7iz.32xlarge","r7iz.4xlarge","r7iz.8xlarge","r7iz.large","r7iz.metal-16xl","r7iz.metal-32xl","r7iz.xlarge","r8g.12xlarge","r8g.16xlarge","r8g.24xlarge","r8g.2xlarge","r8g.48xlarge","r8g.4xlarge","r8g.8xlarge","r8g.large","r8g.medium","r8g.metal-24xl","r8g.metal-48xl","r8g.xlarge","t1.micro","t2.2xlarge","t2.large","t2.medium","t2.micro","t2.nano","t2.small","t2.xlarge","t3.2xlarge","t3.large","t3.medium","t3.micro","t3.nano","t3.small","t3.xlarge","t3a.2xlarge","t3a.large","t3a.medium","t3a.micro","t3a.nano","t3a.small","t3a.xlarge","t4g.2xlarge","t4g.large","t4g.medium","t4g.micro","t4g.nano","t4g.small","t4g.xlarge","trn1.2xlarge","trn1.32xlarge","trn1n.32xlarge","u-12tb1.112xlarge","u-12tb1.metal","u-18tb1.112xlarge","u-18tb1.metal","u-24tb1.112xlarge","u-24tb1.metal","u-3tb1.56xlarge","u-6tb1.112xlarge","u-6tb1.56xlarge","u-6tb1.metal","u-9tb1.112xlarge","u-9tb1.metal","u7i-12tb.224xlarge","u7ib-12tb.224xlarge","u7in-16tb.224xlarge","u7in-24tb.224xlarge","u7in-32tb.224xlarge","vt1.24xlarge","vt1.3xlarge","vt1.6xlarge","x1.16xlarge","x1.32xlarge","x1e.16xlarge","x1e.2xlarge","x1e.32xlarge","x1e.4xlarge","x1e.8xlarge","x1e.xlarge","x2gd.12xlarge","x2gd.16xlarge","x2gd.2xlarge","x2gd.4xlarge","x2gd.8xlarge","x2gd.large","x2gd.medium","x2gd.metal","x2gd.xlarge","x2idn.16xlarge","x2idn.24xlarge","x2idn.32xlarge","x2idn.metal","x2iedn.16xlarge","x2iedn.24xlarge","x2iedn.2xlarge","x2iedn.32xlarge","x2iedn.4xlarge","x2iedn.8xlarge","x2iedn.metal","x2iedn.xlarge","x2iezn.12xlarge","x2iezn.2xlarge","x2iezn.4xlarge","x2iezn.6xlarge","x2iezn.8xlarge","x2iezn.metal","z1d.12xlarge","z1d.2xlarge","z1d.3xlarge","z1d.6xlarge","z1d.large","z1d.metal","z1d.xlarge" break } @@ -24789,7 +25013,7 @@ $ECR_Completers = { ($_ -eq "Update-ECRRepositoryCreationTemplate/EncryptionConfiguration_EncryptionType") } { - $v = "AES256","KMS" + $v = "AES256","KMS","KMS_DSSE" break } @@ -26562,6 +26786,7 @@ $ELB2_SelectMap = @{ "Remove-ELB2TrustStore", "Unregister-ELB2Target", "Get-ELB2AccountLimit", + "Get-ELB2ListenerAttribute", "Get-ELB2ListenerCertificate", "Get-ELB2Listener", "Get-ELB2LoadBalancerAttribute", @@ -26579,6 +26804,7 @@ $ELB2_SelectMap = @{ "Get-ELB2TrustStoreCaCertificatesBundle", "Get-ELB2TrustStoreRevocationContent", "Edit-ELB2Listener", + "Edit-ELB2ListenerAttribute", "Edit-ELB2LoadBalancerAttribute", "Edit-ELB2Rule", "Edit-ELB2TargetGroup", @@ -26665,21 +26891,33 @@ $EMR_Completers = { } # Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference - "Add-EMRInstanceFleet/CapacityReservationOptions_CapacityReservationPreference" + { + ($_ -eq "Add-EMRInstanceFleet/CapacityReservationOptions_CapacityReservationPreference") -Or + ($_ -eq "Edit-EMRInstanceFleet/CapacityReservationOptions_CapacityReservationPreference") -Or + ($_ -eq "Add-EMRInstanceFleet/InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference") + } { $v = "none","open" break } # Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy - "Add-EMRInstanceFleet/CapacityReservationOptions_UsageStrategy" + { + ($_ -eq "Add-EMRInstanceFleet/CapacityReservationOptions_UsageStrategy") -Or + ($_ -eq "Edit-EMRInstanceFleet/CapacityReservationOptions_UsageStrategy") -Or + ($_ -eq "Add-EMRInstanceFleet/InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy") + } { $v = "use-capacity-reservations-first" break } # Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy - "Add-EMRInstanceFleet/OnDemandSpecification_AllocationStrategy" + { + ($_ -eq "Add-EMRInstanceFleet/OnDemandResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Edit-EMRInstanceFleet/OnDemandResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Add-EMRInstanceFleet/OnDemandSpecification_AllocationStrategy") + } { $v = "lowest-price","prioritized" break @@ -26707,7 +26945,11 @@ $EMR_Completers = { } # Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy - "Add-EMRInstanceFleet/SpotSpecification_AllocationStrategy" + { + ($_ -eq "Add-EMRInstanceFleet/SpotResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Edit-EMRInstanceFleet/SpotResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Add-EMRInstanceFleet/SpotSpecification_AllocationStrategy") + } { $v = "capacity-optimized","capacity-optimized-prioritized","diversified","lowest-price","price-capacity-optimized" break @@ -26737,18 +26979,22 @@ $EMR_Completers = { $EMR_map = @{ "AuthMode"=@("New-EMRStudio") - "CapacityReservationOptions_CapacityReservationPreference"=@("Add-EMRInstanceFleet") - "CapacityReservationOptions_UsageStrategy"=@("Add-EMRInstanceFleet") + "CapacityReservationOptions_CapacityReservationPreference"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") + "CapacityReservationOptions_UsageStrategy"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") "ComputeLimits_UnitType"=@("Start-EMRJobFlow","Write-EMRManagedScalingPolicy") "ExecutionEngine_Type"=@("Start-EMRNotebookExecution") "IdcUserAssignment"=@("New-EMRStudio") "IdentityType"=@("Get-EMRStudioSessionMapping","Get-EMRStudioSessionMappingList","New-EMRStudioSessionMapping","Remove-EMRStudioSessionMapping","Update-EMRStudioSessionMapping") "InstanceFleet_InstanceFleetType"=@("Add-EMRInstanceFleet") + "InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference"=@("Add-EMRInstanceFleet") + "InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy"=@("Add-EMRInstanceFleet") "InstanceFleetType"=@("Get-EMRInstanceList") + "OnDemandResizeSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") "OnDemandSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet") "OutputNotebookFormat"=@("Start-EMRNotebookExecution") "RepoUpgradeOnBoot"=@("Start-EMRJobFlow") "ScaleDownBehavior"=@("Start-EMRJobFlow") + "SpotResizeSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") "SpotSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet") "SpotSpecification_TimeoutAction"=@("Add-EMRInstanceFleet") "Status"=@("Get-EMRNotebookExecutionList") @@ -29030,6 +29276,13 @@ $FIS_Completers = { break } + # Amazon.FIS.SafetyLeverStatusInput + "Update-FISSafetyLeverState/State_Status" + { + $v = "disengaged","engaged" + break + } + } @@ -29042,6 +29295,7 @@ $FIS_map = @{ "ExperimentOptions_AccountTargeting"=@("New-FISExperimentTemplate") "ExperimentOptions_ActionsMode"=@("Start-FISExperiment") "ExperimentOptions_EmptyTargetResolutionMode"=@("New-FISExperimentTemplate","Update-FISExperimentTemplate") + "State_Status"=@("Update-FISSafetyLeverState") } _awsArgumentCompleterRegistration $FIS_Completers $FIS_map @@ -29102,6 +29356,7 @@ $FIS_SelectMap = @{ "Get-FISExperiment", "Get-FISExperimentTargetAccountConfiguration", "Get-FISExperimentTemplate", + "Get-FISSafetyLever", "Get-FISTargetAccountConfiguration", "Get-FISTargetResourceType", "Get-FISActionList", @@ -29117,6 +29372,7 @@ $FIS_SelectMap = @{ "Add-FISResourceTag", "Remove-FISResourceTag", "Update-FISExperimentTemplate", + "Update-FISSafetyLeverState", "Update-FISTargetAccountConfiguration") } @@ -30903,6 +31159,13 @@ $GLUE_Completers = { switch ($("$commandName/$parameterName")) { + # Amazon.Glue.AuthenticationType + "Test-GLUEConnection/AuthenticationConfiguration_AuthenticationType" + { + $v = "BASIC","CUSTOM","OAUTH2" + break + } + # Amazon.Glue.CatalogEncryptionMode "Set-GLUEDataCatalogEncryptionSetting/EncryptionAtRest_CatalogEncryptionMode" { @@ -30927,6 +31190,13 @@ $GLUE_Completers = { break } + # Amazon.Glue.ConnectionType + "Test-GLUEConnection/TestConnectionInput_ConnectionType" + { + $v = "CUSTOM","JDBC","KAFKA","MARKETPLACE","MONGODB","NETWORK","SALESFORCE","SFTP","VIEW_VALIDATION_ATHENA","VIEW_VALIDATION_REDSHIFT" + break + } + # Amazon.Glue.CrawlerLineageSettings { ($_ -eq "New-GLUECrawler/LineageConfiguration_CrawlerLineageSetting") -Or @@ -31043,6 +31313,13 @@ $GLUE_Completers = { break } + # Amazon.Glue.OAuth2GrantType + "Test-GLUEConnection/OAuth2Properties_OAuth2GrantType" + { + $v = "AUTHORIZATION_CODE","CLIENT_CREDENTIALS","JWT_BEARER" + break + } + # Amazon.Glue.RecrawlBehavior { ($_ -eq "New-GLUECrawler/RecrawlPolicy_RecrawlBehavior") -Or @@ -31112,7 +31389,7 @@ $GLUE_Completers = { ($_ -eq "Update-GLUETableOptimizer/Type") } { - $v = "compaction" + $v = "compaction","orphan_file_deletion","retention" break } @@ -31214,6 +31491,7 @@ $GLUE_Completers = { $GLUE_map = @{ "AdditionalRunOptions_CompositeRuleEvaluationMethod"=@("Start-GLUEDataQualityRulesetEvaluationRun") + "AuthenticationConfiguration_AuthenticationType"=@("Test-GLUEConnection") "AuthStrategy"=@("Update-GLUEJobFromSourceControl","Update-GLUESourceControlFromJob") "CloudWatchEncryption_CloudWatchEncryptionMode"=@("New-GLUESecurityConfiguration") "Compatibility"=@("New-GLUESchema","Update-GLUESchema") @@ -31233,6 +31511,7 @@ $GLUE_map = @{ "Language"=@("Get-GLUEPlan","New-GLUEScript") "LineageConfiguration_CrawlerLineageSetting"=@("New-GLUECrawler","Update-GLUECrawler") "MlUserDataEncryption_MlUserDataEncryptionMode"=@("New-GLUEMLTransform") + "OAuth2Properties_OAuth2GrantType"=@("Test-GLUEConnection") "Parameters_TransformType"=@("New-GLUEMLTransform","Update-GLUEMLTransform") "PolicyExistsCondition"=@("Set-GLUEResourcePolicy") "Provider"=@("Update-GLUEJobFromSourceControl","Update-GLUESourceControlFromJob") @@ -31244,6 +31523,7 @@ $GLUE_map = @{ "SourceControlDetails_AuthStrategy"=@("New-GLUEJob") "SourceControlDetails_Provider"=@("New-GLUEJob") "SupportedDialect_Dialect"=@("Get-GLUEUnfilteredTableMetadata") + "TestConnectionInput_ConnectionType"=@("Test-GLUEConnection") "Type"=@("Get-GLUETableOptimizer","Get-GLUETableOptimizerRunList","New-GLUETableOptimizer","New-GLUETrigger","Remove-GLUETableOptimizer","Update-GLUETableOptimizer") "ViewUpdateAction"=@("Update-GLUETable") "WorkerType"=@("New-GLUEDevEndpoint","New-GLUEJob","New-GLUEMLTransform","New-GLUESession","Start-GLUEJobRun","Update-GLUEMLTransform") @@ -31499,6 +31779,7 @@ $GLUE_SelectMap = @{ "Stop-GLUETrigger", "Stop-GLUEWorkflowRun", "Add-GLUEResourceTag", + "Test-GLUEConnection", "Remove-GLUEResourceTag", "Update-GLUEBlueprint", "Update-GLUEClassifier", @@ -32272,6 +32553,13 @@ $GD_Completers = { break } + # Amazon.GuardDuty.GroupByType + "Get-GDFindingStatistic/GroupBy" + { + $v = "ACCOUNT","DATE","FINDING_TYPE","RESOURCE","SEVERITY" + break + } + # Amazon.GuardDuty.IpSetFormat "New-GDIPSet/Format" { @@ -32290,7 +32578,10 @@ $GD_Completers = { } # Amazon.GuardDuty.OrderBy - "Get-GDCoverageList/SortCriteria_OrderBy" + { + ($_ -eq "Get-GDFindingStatistic/OrderBy") -Or + ($_ -eq "Get-GDCoverageList/SortCriteria_OrderBy") + } { $v = "ASC","DESC" break @@ -32326,6 +32617,8 @@ $GD_map = @{ "Feedback"=@("Update-GDFindingFeedback") "FindingPublishingFrequency"=@("New-GDDetector","Update-GDDetector") "Format"=@("New-GDIPSet","New-GDThreatIntelSet") + "GroupBy"=@("Get-GDFindingStatistic") + "OrderBy"=@("Get-GDFindingStatistic") "SortCriteria_AttributeName"=@("Get-GDCoverageList") "SortCriteria_OrderBy"=@("Get-GDCoverageList") "Tagging_Status"=@("New-GDMalwareProtectionPlan","Update-GDMalwareProtectionPlan") @@ -34207,7 +34500,7 @@ $CWIM_Completers = { # Amazon.InternetMonitor.QueryType "Start-CWIMQuery/QueryType" { - $v = "MEASUREMENTS","TOP_LOCATIONS","TOP_LOCATION_DETAILS" + $v = "MEASUREMENTS","OVERALL_TRAFFIC_SUGGESTIONS","OVERALL_TRAFFIC_SUGGESTIONS_DETAILS","TOP_LOCATIONS","TOP_LOCATION_DETAILS" break } @@ -34613,6 +34906,13 @@ $IOT_Completers = { break } + # Amazon.IoT.SbomValidationResult + "Get-IOTSbomValidationResultList/ValidationResult" + { + $v = "FAILED","SUCCEEDED" + break + } + # Amazon.IoT.ServiceType { ($_ -eq "Get-IOTDomainConfigurationList/ServiceType") -Or @@ -34737,6 +35037,7 @@ $IOT_map = @{ "Unit"=@("New-IOTFleetMetric","Update-IOTFleetMetric") "UpdateCACertificateParams_Action"=@("New-IOTMitigationAction","Update-IOTMitigationAction") "UpdateDeviceCertificateParams_Action"=@("New-IOTMitigationAction","Update-IOTMitigationAction") + "ValidationResult"=@("Get-IOTSbomValidationResultList") "VerificationState"=@("Get-IOTActiveViolationList","Get-IOTViolationEventList","Write-IOTVerificationStateOnViolation") } @@ -34793,6 +35094,7 @@ $IOT_SelectMap = @{ "Select"=@("Confirm-IOTCertificateTransfer", "Add-IOTThingToBillingGroup", "Add-IOTThingToThingGroup", + "Add-IOTSbomWithPackageVersion", "Add-IOTTargetsWithJob", "Add-IOTPolicy", "Add-IOTPrincipalPolicy", @@ -34911,6 +35213,7 @@ $IOT_SelectMap = @{ "Dismount-IOTSecurityProfile", "Remove-IOTThingPrincipal", "Disable-IOTTopicRule", + "Remove-IOTSbomFromPackageVersion", "Enable-IOTTopicRule", "Get-IOTBehaviorModelTrainingSummary", "Get-IOTBucketsAggregation", @@ -34971,6 +35274,7 @@ $IOT_SelectMap = @{ "Get-IOTProvisioningTemplateVersionList", "Get-IOTRelatedResourcesForAuditFindingList", "Get-IOTRoleAliasList", + "Get-IOTSbomValidationResultList", "Get-IOTScheduledAuditList", "Get-IOTSecurityProfileList", "Get-IOTSecurityProfilesForTargetList", @@ -37194,6 +37498,20 @@ $IVSRT_Completers = { switch ($("$commandName/$parameterName")) { + # Amazon.IVSRealTime.IngestConfigurationState + "Get-IVSRTIngestConfigurationList/FilterByState" + { + $v = "ACTIVE","INACTIVE" + break + } + + # Amazon.IVSRealTime.IngestProtocol + "New-IVSRTIngestConfiguration/IngestProtocol" + { + $v = "RTMP","RTMPS" + break + } + # Amazon.IVSRealTime.ParticipantRecordingFilterByRecordingState "Get-IVSRTParticipantList/FilterByRecordingState" { @@ -37249,9 +37567,10 @@ $IVSRT_Completers = { $IVSRT_map = @{ "FilterByRecordingState"=@("Get-IVSRTParticipantList") - "FilterByState"=@("Get-IVSRTParticipantList") + "FilterByState"=@("Get-IVSRTIngestConfigurationList","Get-IVSRTParticipantList") "Grid_VideoAspectRatio"=@("Start-IVSRTComposition") "Grid_VideoFillMode"=@("Start-IVSRTComposition") + "IngestProtocol"=@("New-IVSRTIngestConfiguration") "Pip_PipBehavior"=@("Start-IVSRTComposition") "Pip_PipPosition"=@("Start-IVSRTComposition") "Pip_VideoFillMode"=@("Start-IVSRTComposition") @@ -37308,16 +37627,19 @@ $IVSRT_SelectCompleters = { $IVSRT_SelectMap = @{ "Select"=@("New-IVSRTEncoderConfiguration", + "New-IVSRTIngestConfiguration", "New-IVSRTParticipantToken", "New-IVSRTStage", "New-IVSRTStorageConfiguration", "Remove-IVSRTEncoderConfiguration", + "Remove-IVSRTIngestConfiguration", "Remove-IVSRTPublicKey", "Remove-IVSRTStage", "Remove-IVSRTStorageConfiguration", "Disconnect-IVSRTParticipant", "Get-IVSRTComposition", "Get-IVSRTEncoderConfiguration", + "Get-IVSRTIngestConfiguration", "Get-IVSRTParticipant", "Get-IVSRTPublicKey", "Get-IVSRTStage", @@ -37326,6 +37648,7 @@ $IVSRT_SelectMap = @{ "Import-IVSRTPublicKey", "Get-IVSRTCompositionList", "Get-IVSRTEncoderConfigurationList", + "Get-IVSRTIngestConfigurationList", "Get-IVSRTParticipantEventList", "Get-IVSRTParticipantList", "Get-IVSRTPublicKeyList", @@ -37337,6 +37660,7 @@ $IVSRT_SelectMap = @{ "Stop-IVSRTComposition", "Add-IVSRTResourceTag", "Remove-IVSRTResourceTag", + "Update-IVSRTIngestConfiguration", "Update-IVSRTStage") } @@ -38398,7 +38722,7 @@ $KINA2_Completers = { ($_ -eq "Update-KINA2Application/RuntimeEnvironmentUpdate") } { - $v = "FLINK-1_11","FLINK-1_13","FLINK-1_15","FLINK-1_18","FLINK-1_19","FLINK-1_6","FLINK-1_8","SQL-1_0","ZEPPELIN-FLINK-1_0","ZEPPELIN-FLINK-2_0","ZEPPELIN-FLINK-3_0" + $v = "FLINK-1_11","FLINK-1_13","FLINK-1_15","FLINK-1_18","FLINK-1_19","FLINK-1_20","FLINK-1_6","FLINK-1_8","SQL-1_0","ZEPPELIN-FLINK-1_0","ZEPPELIN-FLINK-2_0","ZEPPELIN-FLINK-3_0" break } @@ -41356,6 +41680,7 @@ $CWL_SelectMap = @{ "Remove-CWLRetentionPolicy", "Remove-CWLSubscriptionFilter", "Get-CWLAccountPolicy", + "Find-CWLConfigurationTemplate", "Find-CWLDelivery", "Find-CWLDeliveryDestination", "Find-CWLDeliverySource", @@ -41406,6 +41731,7 @@ $CWL_SelectMap = @{ "Remove-CWLLogGroupTag", "Remove-CWLResourceTag", "Update-CWLAnomaly", + "Update-CWLDeliveryConfiguration", "Update-CWLLogAnomalyDetector") } @@ -43517,6 +43843,16 @@ $EMCN_Completers = { break } + # Amazon.MediaConnect.ThumbnailState + { + ($_ -eq "New-EMCNFlow/SourceMonitoringConfig_ThumbnailState") -Or + ($_ -eq "Update-EMCNFlow/SourceMonitoringConfig_ThumbnailState") + } + { + $v = "DISABLED","ENABLED" + break + } + } @@ -43541,6 +43877,7 @@ $EMCN_map = @{ "Protocol"=@("Update-EMCNFlowOutput","Update-EMCNFlowSource") "SourceFailoverConfig_FailoverMode"=@("New-EMCNBridge","New-EMCNFlow","Update-EMCNBridge","Update-EMCNFlow") "SourceFailoverConfig_State"=@("New-EMCNBridge","New-EMCNFlow","Update-EMCNBridge","Update-EMCNFlow") + "SourceMonitoringConfig_ThumbnailState"=@("New-EMCNFlow","Update-EMCNFlow") } _awsArgumentCompleterRegistration $EMCN_Completers $EMCN_map @@ -43609,6 +43946,7 @@ $EMCN_SelectMap = @{ "Get-EMCNBridge", "Get-EMCNFlow", "Get-EMCNFlowSourceMetadata", + "Get-EMCNFlowSourceThumbnail", "Get-EMCNGateway", "Get-EMCNGatewayInstance", "Get-EMCNOffering", @@ -43887,6 +44225,7 @@ $EMC_SelectMap = @{ "Get-EMCPresetList", "Get-EMCQueueList", "Get-EMCResourceTag", + "Get-EMCVersionList", "Write-EMCPolicy", "Search-EMCJob", "Add-EMCResourceTag", @@ -43972,6 +44311,13 @@ $EML_Completers = { break } + # Amazon.MediaLive.ClusterType + "New-EMLCluster/ClusterType" + { + $v = "ON_PREMISES" + break + } + # Amazon.MediaLive.EventBridgeRuleTemplateEventType { ($_ -eq "New-EMLEventBridgeRuleTemplate/EventType") -Or @@ -44022,6 +44368,13 @@ $EML_Completers = { break } + # Amazon.MediaLive.InputNetworkLocation + "New-EMLInput/InputNetworkLocation" + { + $v = "AWS","ON_PREMISES" + break + } + # Amazon.MediaLive.InputResolution { ($_ -eq "New-EMLChannel/InputSpecification_Resolution") -Or @@ -44035,7 +44388,7 @@ $EML_Completers = { # Amazon.MediaLive.InputType "New-EMLInput/Type" { - $v = "AWS_CDI","INPUT_DEVICE","MEDIACONNECT","MP4_FILE","RTMP_PULL","RTMP_PUSH","RTP_PUSH","SRT_CALLER","TS_FILE","UDP_PUSH","URL_PULL" + $v = "AWS_CDI","INPUT_DEVICE","MEDIACONNECT","MP4_FILE","MULTICAST","RTMP_PULL","RTMP_PUSH","RTP_PUSH","SRT_CALLER","TS_FILE","UDP_PUSH","URL_PULL" break } @@ -44059,6 +44412,17 @@ $EML_Completers = { break } + # Amazon.MediaLive.NodeRole + { + ($_ -eq "New-EMLNode/Role") -Or + ($_ -eq "New-EMLNodeRegistrationScript/Role") -Or + ($_ -eq "Update-EMLNode/Role") + } + { + $v = "ACTIVE","BACKUP" + break + } + # Amazon.MediaLive.PreferredChannelPipeline { ($_ -eq "New-EMLMultiplexProgram/MultiplexProgramSettings_PreferredChannelPipeline") -Or @@ -44086,6 +44450,13 @@ $EML_Completers = { break } + # Amazon.MediaLive.UpdateNodeState + "Update-EMLNodeState/State" + { + $v = "ACTIVE","DRAINING" + break + } + } @@ -44098,11 +44469,13 @@ $EML_map = @{ "Accept"=@("Get-EMLInputDeviceThumbnail") "CdiInputSpecification_Resolution"=@("New-EMLChannel","Update-EMLChannel") "ChannelClass"=@("New-EMLChannel","Update-EMLChannelClass") + "ClusterType"=@("New-EMLCluster") "ComparisonOperator"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") "EventType"=@("New-EMLEventBridgeRuleTemplate","Update-EMLEventBridgeRuleTemplate") "HdDeviceSettings_Codec"=@("Update-EMLInputDevice") "HdDeviceSettings_ConfiguredInput"=@("Update-EMLInputDevice") "IgnoreStreaming"=@("Restart-EMLInputDevice") + "InputNetworkLocation"=@("New-EMLInput") "InputSpecification_Codec"=@("New-EMLChannel","Update-EMLChannel") "InputSpecification_MaximumBitrate"=@("New-EMLChannel","Update-EMLChannel") "InputSpecification_Resolution"=@("New-EMLChannel","Update-EMLChannel") @@ -44110,6 +44483,8 @@ $EML_map = @{ "Maintenance_MaintenanceDay"=@("New-EMLChannel","Update-EMLChannel") "MultiplexProgramSettings_PreferredChannelPipeline"=@("New-EMLMultiplexProgram","Update-EMLMultiplexProgram") "RenewalSettings_AutomaticRenewal"=@("New-EMLOfferingPurchase","Update-EMLReservation") + "Role"=@("New-EMLNode","New-EMLNodeRegistrationScript","Update-EMLNode") + "State"=@("Update-EMLNodeState") "Statistic"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") "TargetResourceType"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") "TreatMissingData"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") @@ -44176,38 +44551,51 @@ $EML_SelectMap = @{ "Stop-EMLInputDeviceTransfer", "Request-EMLDevice", "New-EMLChannel", + "New-EMLChannelPlacementGroup", "New-EMLCloudWatchAlarmTemplate", "New-EMLCloudWatchAlarmTemplateGroup", + "New-EMLCluster", "New-EMLEventBridgeRuleTemplate", "New-EMLEventBridgeRuleTemplateGroup", "New-EMLInput", "New-EMLInputSecurityGroup", "New-EMLMultiplex", "New-EMLMultiplexProgram", + "New-EMLNetwork", + "New-EMLNode", + "New-EMLNodeRegistrationScript", "New-EMLPartnerInput", "New-EMLSignalMap", "Add-EMLResourceTag", "Remove-EMLChannel", + "Remove-EMLChannelPlacementGroup", "Remove-EMLCloudWatchAlarmTemplate", "Remove-EMLCloudWatchAlarmTemplateGroup", + "Remove-EMLCluster", "Remove-EMLEventBridgeRuleTemplate", "Remove-EMLEventBridgeRuleTemplateGroup", "Remove-EMLInput", "Remove-EMLInputSecurityGroup", "Remove-EMLMultiplex", "Remove-EMLMultiplexProgram", + "Remove-EMLNetwork", + "Remove-EMLNode", "Remove-EMLReservation", "Remove-EMLSchedule", "Remove-EMLSignalMap", "Remove-EMLResourceTag", "Get-EMLAccountConfiguration", "Get-EMLChannel", + "Get-EMLChannelPlacementGroup", + "Get-EMLCluster", "Get-EMLInput", "Get-EMLInputDevice", "Get-EMLInputDeviceThumbnail", "Get-EMLInputSecurityGroup", "Get-EMLMultiplex", "Get-EMLMultiplexProgram", + "Get-EMLNetwork", + "Get-EMLNode", "Get-EMLOffering", "Get-EMLReservation", "Get-EMLSchedule", @@ -44217,9 +44605,11 @@ $EML_SelectMap = @{ "Get-EMLEventBridgeRuleTemplate", "Get-EMLEventBridgeRuleTemplateGroup", "Get-EMLSignalMap", + "Get-EMLChannelPlacementGroupList", "Get-EMLChannelList", "Get-EMLCloudWatchAlarmTemplateGroupList", "Get-EMLCloudWatchAlarmTemplateList", + "Get-EMLClusterList", "Get-EMLEventBridgeRuleTemplateGroupList", "Get-EMLEventBridgeRuleTemplateList", "Get-EMLInputDeviceList", @@ -44228,6 +44618,8 @@ $EML_SelectMap = @{ "Get-EMLInputSecurityGroupList", "Get-EMLMultiplexList", "Get-EMLMultiplexProgramList", + "Get-EMLNetworkList", + "Get-EMLNodeList", "Get-EMLOfferingList", "Get-EMLReservationList", "Get-EMLSignalMapList", @@ -44250,8 +44642,10 @@ $EML_SelectMap = @{ "Update-EMLAccountConfiguration", "Update-EMLChannel", "Update-EMLChannelClass", + "Update-EMLChannelPlacementGroup", "Update-EMLCloudWatchAlarmTemplate", "Update-EMLCloudWatchAlarmTemplateGroup", + "Update-EMLCluster", "Update-EMLEventBridgeRuleTemplate", "Update-EMLEventBridgeRuleTemplateGroup", "Update-EMLInput", @@ -44259,6 +44653,9 @@ $EML_SelectMap = @{ "Update-EMLInputSecurityGroup", "Update-EMLMultiplex", "Update-EMLMultiplexProgram", + "Update-EMLNetwork", + "Update-EMLNode", + "Update-EMLNodeState", "Update-EMLReservation") } @@ -46606,7 +47003,7 @@ $LMBV2_Completers = { ($_ -eq "Update-LMBV2BotLocale/VoiceSettings_Engine") } { - $v = "neural","standard" + $v = "generative","long-form","neural","standard" break } @@ -49973,7 +50370,7 @@ $ORG_Completers = { # Amazon.Organizations.EffectivePolicyType "Get-ORGEffectivePolicy/PolicyType" { - $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","TAG_POLICY" + $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","CHATBOT_POLICY","TAG_POLICY" break } @@ -50010,7 +50407,7 @@ $ORG_Completers = { ($_ -eq "New-ORGPolicy/Type") } { - $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","SERVICE_CONTROL_POLICY","TAG_POLICY" + $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","CHATBOT_POLICY","SERVICE_CONTROL_POLICY","TAG_POLICY" break } @@ -51442,6 +51839,134 @@ $PCASCEP_SelectMap = @{ } _awsArgumentCompleterRegistration $PCASCEP_SelectCompleters $PCASCEP_SelectMap +# Argument completions for service AWS Parallel Computing Service + + +$PCS_Completers = { + param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) + + switch ($("$commandName/$parameterName")) + { + # Amazon.PCS.PurchaseOption + { + ($_ -eq "New-PCSComputeNodeGroup/PurchaseOption") -Or + ($_ -eq "Update-PCSComputeNodeGroup/PurchaseOption") + } + { + $v = "ONDEMAND","SPOT" + break + } + + # Amazon.PCS.SchedulerType + "New-PCSCluster/Scheduler_Type" + { + $v = "SLURM" + break + } + + # Amazon.PCS.Size + "New-PCSCluster/Size" + { + $v = "LARGE","MEDIUM","SMALL" + break + } + + # Amazon.PCS.SpotAllocationStrategy + { + ($_ -eq "New-PCSComputeNodeGroup/SpotOptions_AllocationStrategy") -Or + ($_ -eq "Update-PCSComputeNodeGroup/SpotOptions_AllocationStrategy") + } + { + $v = "capacity-optimized","lowest-price","price-capacity-optimized" + break + } + + + } + + $v | + Where-Object { $_ -like "$wordToComplete*" } | + ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } +} + +$PCS_map = @{ + "PurchaseOption"=@("New-PCSComputeNodeGroup","Update-PCSComputeNodeGroup") + "Scheduler_Type"=@("New-PCSCluster") + "Size"=@("New-PCSCluster") + "SpotOptions_AllocationStrategy"=@("New-PCSComputeNodeGroup","Update-PCSComputeNodeGroup") +} + +_awsArgumentCompleterRegistration $PCS_Completers $PCS_map + +$PCS_SelectCompleters = { + param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) + + $cmdletType = Invoke-Expression "[Amazon.PowerShell.Cmdlets.PCS.$($commandName.Replace('-', ''))Cmdlet]" + if (-not $cmdletType) { + return + } + $awsCmdletAttribute = $cmdletType.GetCustomAttributes([Amazon.PowerShell.Common.AWSCmdletAttribute], $false) + if (-not $awsCmdletAttribute) { + return + } + $type = $awsCmdletAttribute.SelectReturnType + if (-not $type) { + return + } + + $splitSelect = $wordToComplete -Split '\.' + $splitSelect | Select-Object -First ($splitSelect.Length - 1) | ForEach-Object { + $propertyName = $_ + $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')) | Where-Object { $_.Name -ieq $propertyName } + if ($properties.Length -ne 1) { + break + } + $type = $properties.PropertyType + $prefix += "$($properties.Name)." + + $asEnumerableType = $type.GetInterface('System.Collections.Generic.IEnumerable`1') + if ($asEnumerableType -and $type -ne [System.String]) { + $type = $asEnumerableType.GetGenericArguments()[0] + } + } + + $v = @( '*' ) + $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')).Name | Sort-Object + if ($properties) { + $v += ($properties | ForEach-Object { $prefix + $_ }) + } + $parameters = $cmdletType.GetProperties(('Instance', 'Public')) | Where-Object { $_.GetCustomAttributes([System.Management.Automation.ParameterAttribute], $true) } | Select-Object -ExpandProperty Name | Sort-Object + if ($parameters) { + $v += ($parameters | ForEach-Object { "^$_" }) + } + + $v | + Where-Object { $_ -match "^$([System.Text.RegularExpressions.Regex]::Escape($wordToComplete)).*" } | + ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } +} + +$PCS_SelectMap = @{ + "Select"=@("New-PCSCluster", + "New-PCSComputeNodeGroup", + "New-PCSQueue", + "Remove-PCSCluster", + "Remove-PCSComputeNodeGroup", + "Remove-PCSQueue", + "Get-PCSCluster", + "Get-PCSComputeNodeGroup", + "Get-PCSQueue", + "Get-PCSClusterList", + "Get-PCSComputeNodeGroupList", + "Get-PCSQueueList", + "Get-PCSResourceTag", + "Register-PCSComputeNodeGroupInstance", + "Add-PCSResourceTag", + "Remove-PCSResourceTag", + "Update-PCSComputeNodeGroup", + "Update-PCSQueue") +} + +_awsArgumentCompleterRegistration $PCS_SelectCompleters $PCS_SelectMap # Argument completions for service AWS Personalize @@ -51640,7 +52165,8 @@ $PERS_SelectMap = @{ "Update-PERSCampaign", "Update-PERSDataset", "Update-PERSMetricAttribution", - "Update-PERSRecommender") + "Update-PERSRecommender", + "Update-PERSSolution") } _awsArgumentCompleterRegistration $PERS_SelectCompleters $PERS_SelectMap @@ -52472,6 +52998,18 @@ $SMSV_Completers = { break } + # Amazon.PinpointSMSVoiceV2.Owner + { + ($_ -eq "Get-SMSVOptOutList/Owner") -Or + ($_ -eq "Get-SMSVPhoneNumber/Owner") -Or + ($_ -eq "Get-SMSVPool/Owner") -Or + ($_ -eq "Get-SMSVSenderId/Owner") + } + { + $v = "SELF","SHARED" + break + } + # Amazon.PinpointSMSVoiceV2.RequestableNumberType "New-SMSVPhoneNumber/NumberType" { @@ -52515,6 +53053,7 @@ $SMSV_map = @{ "MessageType"=@("New-SMSVPhoneNumber","New-SMSVPool","Send-SMSVTextMessage","Set-SMSVDefaultMessageType") "NumberCapability"=@("Get-SMSVProtectConfigurationCountryRuleSet","Update-SMSVProtectConfigurationCountryRuleSet") "NumberType"=@("New-SMSVPhoneNumber") + "Owner"=@("Get-SMSVOptOutList","Get-SMSVPhoneNumber","Get-SMSVPool","Get-SMSVSenderId") "VerificationChannel"=@("Send-SMSVDestinationNumberVerificationCode") "VoiceId"=@("Send-SMSVVoiceMessage") } @@ -52595,6 +53134,7 @@ $SMSV_SelectMap = @{ "Remove-SMSVRegistration", "Remove-SMSVRegistrationAttachment", "Remove-SMSVRegistrationFieldValue", + "Remove-SMSVResourcePolicy", "Remove-SMSVTextMessageSpendLimitOverride", "Remove-SMSVVerifiedDestinationNumber", "Remove-SMSVVoiceMessageSpendLimitOverride", @@ -52621,12 +53161,14 @@ $SMSV_SelectMap = @{ "Unregister-SMSVProtectConfiguration", "Close-SMSVRegistrationVersion", "Get-SMSVProtectConfigurationCountryRuleSet", + "Get-SMSVResourcePolicy", "Get-SMSVPoolOriginationIdentityList", "Get-SMSVRegistrationAssociationList", "Get-SMSVResourceTagList", "Set-SMSVKeyword", "Set-SMSVOptedOutNumber", "Set-SMSVRegistrationFieldValue", + "Write-SMSVResourcePolicy", "Remove-SMSVPhoneNumber", "Remove-SMSVSenderId", "New-SMSVPhoneNumber", @@ -52919,7 +53461,7 @@ $POL_Completers = { ($_ -eq "Start-POLSpeechSynthesisTask/LanguageCode") } { - $v = "ar-AE","arb","ca-ES","cmn-CN","cy-GB","da-DK","de-AT","de-DE","en-AU","en-GB","en-GB-WLS","en-IE","en-IN","en-NZ","en-US","en-ZA","es-ES","es-MX","es-US","fi-FI","fr-BE","fr-CA","fr-FR","hi-IN","is-IS","it-IT","ja-JP","ko-KR","nb-NO","nl-BE","nl-NL","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sv-SE","tr-TR","yue-CN" + $v = "ar-AE","arb","ca-ES","cmn-CN","cs-CZ","cy-GB","da-DK","de-AT","de-CH","de-DE","en-AU","en-GB","en-GB-WLS","en-IE","en-IN","en-NZ","en-US","en-ZA","es-ES","es-MX","es-US","fi-FI","fr-BE","fr-CA","fr-FR","hi-IN","is-IS","it-IT","ja-JP","ko-KR","nb-NO","nl-BE","nl-NL","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sv-SE","tr-TR","yue-CN" break } @@ -52956,7 +53498,7 @@ $POL_Completers = { ($_ -eq "Start-POLSpeechSynthesisTask/VoiceId") } { - $v = "Aditi","Adriano","Amy","Andres","Aria","Arlet","Arthur","Astrid","Ayanda","Bianca","Brian","Burcu","Camila","Carla","Carmen","Celine","Chantal","Conchita","Cristiano","Daniel","Danielle","Dora","Elin","Emma","Enrique","Ewa","Filiz","Gabrielle","Geraint","Giorgio","Gregory","Gwyneth","Hala","Hannah","Hans","Hiujin","Ida","Ines","Isabelle","Ivy","Jacek","Jan","Joanna","Joey","Justin","Kajal","Karl","Kazuha","Kendra","Kevin","Kimberly","Laura","Lea","Liam","Lisa","Liv","Lotte","Lucia","Lupe","Mads","Maja","Marlene","Mathieu","Matthew","Maxim","Mia","Miguel","Mizuki","Naja","Niamh","Nicole","Ola","Olivia","Pedro","Penelope","Raveena","Remi","Ricardo","Ruben","Russell","Ruth","Salli","Seoyeon","Sergio","Sofie","Stephen","Suvi","Takumi","Tatyana","Thiago","Tomoko","Vicki","Vitoria","Zayd","Zeina","Zhiyu" + $v = "Aditi","Adriano","Amy","Andres","Aria","Arlet","Arthur","Astrid","Ayanda","Bianca","Brian","Burcu","Camila","Carla","Carmen","Celine","Chantal","Conchita","Cristiano","Daniel","Danielle","Dora","Elin","Emma","Enrique","Ewa","Filiz","Gabrielle","Geraint","Giorgio","Gregory","Gwyneth","Hala","Hannah","Hans","Hiujin","Ida","Ines","Isabelle","Ivy","Jacek","Jan","Jitka","Joanna","Joey","Justin","Kajal","Karl","Kazuha","Kendra","Kevin","Kimberly","Laura","Lea","Liam","Lisa","Liv","Lotte","Lucia","Lupe","Mads","Maja","Marlene","Mathieu","Matthew","Maxim","Mia","Miguel","Mizuki","Naja","Niamh","Nicole","Ola","Olivia","Pedro","Penelope","Raveena","Remi","Ricardo","Ruben","Russell","Ruth","Sabrina","Salli","Seoyeon","Sergio","Sofie","Stephen","Suvi","Takumi","Tatyana","Thiago","Tomoko","Vicki","Vitoria","Zayd","Zeina","Zhiyu" break } @@ -53704,6 +54246,7 @@ $qapps_SelectMap = @{ "Add-qappsResourceTag", "Remove-qappsResourceTag", "Update-qappsLibraryItem", + "Update-qappsLibraryItemMetadata", "Update-qappsQApp", "Update-qappsQAppSession") } @@ -54588,6 +55131,13 @@ $QS_Completers = { break } + # Amazon.QuickSight.PersonalizationMode + "Update-QSQPersonalizationConfiguration/PersonalizationMode" + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.QuickSight.PurchaseMode "Update-QSSPICECapacityConfiguration/PurchaseMode" { @@ -54801,6 +55351,7 @@ $QS_map = @{ "Options_WeekStart"=@("New-QSAnalysis","New-QSDashboard","New-QSTemplate","Update-QSAnalysis","Update-QSDashboard","Update-QSTemplate") "PaperCanvasSizeOptions_PaperOrientation"=@("New-QSAnalysis","New-QSDashboard","New-QSTemplate","Update-QSAnalysis","Update-QSDashboard","Update-QSTemplate") "PaperCanvasSizeOptions_PaperSize"=@("New-QSAnalysis","New-QSDashboard","New-QSTemplate","Update-QSAnalysis","Update-QSDashboard","Update-QSTemplate") + "PersonalizationMode"=@("Update-QSQPersonalizationConfiguration") "PurchaseMode"=@("Update-QSSPICECapacityConfiguration") "QueryExecutionOptions_QueryExecutionMode"=@("New-QSAnalysis","New-QSTemplate","Update-QSAnalysis","Update-QSTemplate") "RefreshOnDay_DayOfWeek"=@("New-QSRefreshSchedule","Update-QSRefreshSchedule") @@ -54955,6 +55506,7 @@ $QS_SelectMap = @{ "Get-QSIpRestriction", "Get-QSKeyRegistration", "Get-QSNamespace", + "Get-QSQPersonalizationConfiguration", "Get-QSRefreshSchedule", "Get-QSRoleCustomPermission", "Get-QSTemplate", @@ -54983,6 +55535,7 @@ $QS_SelectMap = @{ "Get-QSDataSourceList", "Get-QSFolderMemberList", "Get-QSFolderList", + "Get-QSFoldersForResourceList", "Get-QSGroupMembershipList", "Get-QSGroupList", "Get-QSIAMPolicyAssignmentList", @@ -55039,6 +55592,7 @@ $QS_SelectMap = @{ "Update-QSIpRestriction", "Update-QSKeyRegistration", "Update-QSPublicSharingSetting", + "Update-QSQPersonalizationConfiguration", "Update-QSRefreshSchedule", "Update-QSRoleCustomPermission", "Update-QSSPICECapacityConfiguration", @@ -56976,6 +57530,7 @@ $AREX_SelectMap = @{ "Get-AREXView", "Get-AREXIndexList", "Get-AREXIndexesForMemberList", + "Get-AREXResourceList", "Get-AREXSupportedResourceTypeList", "Get-AREXResourceTag", "Get-AREXViewArnList", @@ -58971,6 +59526,7 @@ $S3_Completers = { # Amazon.S3.RequestPayer { + ($_ -eq "Copy-S3Object/RequestPayer") -Or ($_ -eq "Get-S3BucketAccelerateConfiguration/RequestPayer") -Or ($_ -eq "Get-S3Object/RequestPayer") -Or ($_ -eq "Get-S3ObjectAttribute/RequestPayer") -Or @@ -58980,7 +59536,9 @@ $S3_Completers = { ($_ -eq "Get-S3ObjectTagSet/RequestPayer") -Or ($_ -eq "Get-S3ObjectV2/RequestPayer") -Or ($_ -eq "Get-S3Version/RequestPayer") -Or + ($_ -eq "Remove-S3Object/RequestPayer") -Or ($_ -eq "Restore-S3Object/RequestPayer") -Or + ($_ -eq "Write-S3Object/RequestPayer") -Or ($_ -eq "Write-S3ObjectLegalHold/RequestPayer") -Or ($_ -eq "Write-S3ObjectLockConfiguration/RequestPayer") -Or ($_ -eq "Write-S3ObjectRetention/RequestPayer") -Or @@ -59041,6 +59599,7 @@ $S3_Completers = { { ($_ -eq "Restore-S3Object/Encryption_EncryptionType") -Or ($_ -eq "Copy-S3Object/ServerSideEncryption") -Or + ($_ -eq "New-S3Session/ServerSideEncryption") -Or ($_ -eq "Write-S3Object/ServerSideEncryption") -Or ($_ -eq "Get-S3PreSignedURL/ServerSideEncryptionMethod") -Or ($_ -eq "Write-S3GetObjectResponse/ServerSideEncryptionMethod") @@ -59100,7 +59659,7 @@ $S3_map = @{ "PartitionedPrefix_PartitionDateSource"=@("Write-S3BucketLogging") "ReplicationStatus"=@("Write-S3GetObjectResponse") "RequestCharged"=@("Write-S3GetObjectResponse") - "RequestPayer"=@("Get-S3BucketAccelerateConfiguration","Get-S3Object","Get-S3ObjectAttribute","Get-S3ObjectLegalHold","Get-S3ObjectMetadata","Get-S3ObjectRetention","Get-S3ObjectTagSet","Get-S3ObjectV2","Get-S3Version","Restore-S3Object","Write-S3ObjectLegalHold","Write-S3ObjectLockConfiguration","Write-S3ObjectRetention","Write-S3ObjectTagSet") + "RequestPayer"=@("Copy-S3Object","Get-S3BucketAccelerateConfiguration","Get-S3Object","Get-S3ObjectAttribute","Get-S3ObjectLegalHold","Get-S3ObjectMetadata","Get-S3ObjectRetention","Get-S3ObjectTagSet","Get-S3ObjectV2","Get-S3Version","Remove-S3Object","Restore-S3Object","Write-S3Object","Write-S3ObjectLegalHold","Write-S3ObjectLockConfiguration","Write-S3ObjectRetention","Write-S3ObjectTagSet") "RestoreRequestType"=@("Restore-S3Object") "Retention_Mode"=@("Write-S3ObjectRetention") "RetrievalTier"=@("Restore-S3Object") @@ -59109,7 +59668,7 @@ $S3_map = @{ "S3BucketDestination_InventoryFormat"=@("Write-S3BucketInventoryConfiguration") "Schedule_Frequency"=@("Write-S3BucketInventoryConfiguration") "ServerSideCustomerEncryptionMethod"=@("Select-S3ObjectContent") - "ServerSideEncryption"=@("Copy-S3Object","Write-S3Object") + "ServerSideEncryption"=@("Copy-S3Object","New-S3Session","Write-S3Object") "ServerSideEncryptionCustomerMethod"=@("Copy-S3Object","Get-S3ObjectMetadata","Get-S3PreSignedURL","Read-S3Object","Write-S3Object") "ServerSideEncryptionMethod"=@("Get-S3PreSignedURL","Write-S3GetObjectResponse") "SessionMode"=@("New-S3Session") @@ -59605,6 +60164,7 @@ $S3C_SelectMap = @{ "Get-S3CAccessGrantsLocationList", "Get-S3CAccessPointList", "Get-S3CAccessPointsForObjectLambdaList", + "Get-S3CCallerAccessGrantList", "Get-S3CJobList", "Get-S3CMultiRegionAccessPointList", "Get-S3CRegionalBucketList", @@ -59780,7 +60340,7 @@ $SM_Completers = { ($_ -eq "Update-SMSpace/SpaceSettings_KernelGatewayAppSettings_DefaultResourceSpec_InstanceType") } { - $v = "ml.c5.12xlarge","ml.c5.18xlarge","ml.c5.24xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.large","ml.c5.xlarge","ml.c6i.12xlarge","ml.c6i.16xlarge","ml.c6i.24xlarge","ml.c6i.2xlarge","ml.c6i.32xlarge","ml.c6i.4xlarge","ml.c6i.8xlarge","ml.c6i.large","ml.c6i.xlarge","ml.c6id.12xlarge","ml.c6id.16xlarge","ml.c6id.24xlarge","ml.c6id.2xlarge","ml.c6id.32xlarge","ml.c6id.4xlarge","ml.c6id.8xlarge","ml.c6id.large","ml.c6id.xlarge","ml.c7i.12xlarge","ml.c7i.16xlarge","ml.c7i.24xlarge","ml.c7i.2xlarge","ml.c7i.48xlarge","ml.c7i.4xlarge","ml.c7i.8xlarge","ml.c7i.large","ml.c7i.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.g6.12xlarge","ml.g6.16xlarge","ml.g6.24xlarge","ml.g6.2xlarge","ml.g6.48xlarge","ml.g6.4xlarge","ml.g6.8xlarge","ml.g6.xlarge","ml.geospatial.interactive","ml.m5.12xlarge","ml.m5.16xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.8xlarge","ml.m5.large","ml.m5.xlarge","ml.m5d.12xlarge","ml.m5d.16xlarge","ml.m5d.24xlarge","ml.m5d.2xlarge","ml.m5d.4xlarge","ml.m5d.8xlarge","ml.m5d.large","ml.m5d.xlarge","ml.m6i.12xlarge","ml.m6i.16xlarge","ml.m6i.24xlarge","ml.m6i.2xlarge","ml.m6i.32xlarge","ml.m6i.4xlarge","ml.m6i.8xlarge","ml.m6i.large","ml.m6i.xlarge","ml.m6id.12xlarge","ml.m6id.16xlarge","ml.m6id.24xlarge","ml.m6id.2xlarge","ml.m6id.32xlarge","ml.m6id.4xlarge","ml.m6id.8xlarge","ml.m6id.large","ml.m6id.xlarge","ml.m7i.12xlarge","ml.m7i.16xlarge","ml.m7i.24xlarge","ml.m7i.2xlarge","ml.m7i.48xlarge","ml.m7i.4xlarge","ml.m7i.8xlarge","ml.m7i.large","ml.m7i.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.p4de.24xlarge","ml.p5.48xlarge","ml.r5.12xlarge","ml.r5.16xlarge","ml.r5.24xlarge","ml.r5.2xlarge","ml.r5.4xlarge","ml.r5.8xlarge","ml.r5.large","ml.r5.xlarge","ml.r6i.12xlarge","ml.r6i.16xlarge","ml.r6i.24xlarge","ml.r6i.2xlarge","ml.r6i.32xlarge","ml.r6i.4xlarge","ml.r6i.8xlarge","ml.r6i.large","ml.r6i.xlarge","ml.r6id.12xlarge","ml.r6id.16xlarge","ml.r6id.24xlarge","ml.r6id.2xlarge","ml.r6id.32xlarge","ml.r6id.4xlarge","ml.r6id.8xlarge","ml.r6id.large","ml.r6id.xlarge","ml.r7i.12xlarge","ml.r7i.16xlarge","ml.r7i.24xlarge","ml.r7i.2xlarge","ml.r7i.48xlarge","ml.r7i.4xlarge","ml.r7i.8xlarge","ml.r7i.large","ml.r7i.xlarge","ml.t3.2xlarge","ml.t3.large","ml.t3.medium","ml.t3.micro","ml.t3.small","ml.t3.xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge","system" + $v = "ml.c5.12xlarge","ml.c5.18xlarge","ml.c5.24xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.large","ml.c5.xlarge","ml.c6i.12xlarge","ml.c6i.16xlarge","ml.c6i.24xlarge","ml.c6i.2xlarge","ml.c6i.32xlarge","ml.c6i.4xlarge","ml.c6i.8xlarge","ml.c6i.large","ml.c6i.xlarge","ml.c6id.12xlarge","ml.c6id.16xlarge","ml.c6id.24xlarge","ml.c6id.2xlarge","ml.c6id.32xlarge","ml.c6id.4xlarge","ml.c6id.8xlarge","ml.c6id.large","ml.c6id.xlarge","ml.c7i.12xlarge","ml.c7i.16xlarge","ml.c7i.24xlarge","ml.c7i.2xlarge","ml.c7i.48xlarge","ml.c7i.4xlarge","ml.c7i.8xlarge","ml.c7i.large","ml.c7i.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.g6.12xlarge","ml.g6.16xlarge","ml.g6.24xlarge","ml.g6.2xlarge","ml.g6.48xlarge","ml.g6.4xlarge","ml.g6.8xlarge","ml.g6.xlarge","ml.g6e.12xlarge","ml.g6e.16xlarge","ml.g6e.24xlarge","ml.g6e.2xlarge","ml.g6e.48xlarge","ml.g6e.4xlarge","ml.g6e.8xlarge","ml.g6e.xlarge","ml.geospatial.interactive","ml.m5.12xlarge","ml.m5.16xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.8xlarge","ml.m5.large","ml.m5.xlarge","ml.m5d.12xlarge","ml.m5d.16xlarge","ml.m5d.24xlarge","ml.m5d.2xlarge","ml.m5d.4xlarge","ml.m5d.8xlarge","ml.m5d.large","ml.m5d.xlarge","ml.m6i.12xlarge","ml.m6i.16xlarge","ml.m6i.24xlarge","ml.m6i.2xlarge","ml.m6i.32xlarge","ml.m6i.4xlarge","ml.m6i.8xlarge","ml.m6i.large","ml.m6i.xlarge","ml.m6id.12xlarge","ml.m6id.16xlarge","ml.m6id.24xlarge","ml.m6id.2xlarge","ml.m6id.32xlarge","ml.m6id.4xlarge","ml.m6id.8xlarge","ml.m6id.large","ml.m6id.xlarge","ml.m7i.12xlarge","ml.m7i.16xlarge","ml.m7i.24xlarge","ml.m7i.2xlarge","ml.m7i.48xlarge","ml.m7i.4xlarge","ml.m7i.8xlarge","ml.m7i.large","ml.m7i.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.p4de.24xlarge","ml.p5.48xlarge","ml.r5.12xlarge","ml.r5.16xlarge","ml.r5.24xlarge","ml.r5.2xlarge","ml.r5.4xlarge","ml.r5.8xlarge","ml.r5.large","ml.r5.xlarge","ml.r6i.12xlarge","ml.r6i.16xlarge","ml.r6i.24xlarge","ml.r6i.2xlarge","ml.r6i.32xlarge","ml.r6i.4xlarge","ml.r6i.8xlarge","ml.r6i.large","ml.r6i.xlarge","ml.r6id.12xlarge","ml.r6id.16xlarge","ml.r6id.24xlarge","ml.r6id.2xlarge","ml.r6id.32xlarge","ml.r6id.4xlarge","ml.r6id.8xlarge","ml.r6id.large","ml.r6id.xlarge","ml.r7i.12xlarge","ml.r7i.16xlarge","ml.r7i.24xlarge","ml.r7i.2xlarge","ml.r7i.48xlarge","ml.r7i.4xlarge","ml.r7i.8xlarge","ml.r7i.large","ml.r7i.xlarge","ml.t3.2xlarge","ml.t3.large","ml.t3.medium","ml.t3.micro","ml.t3.small","ml.t3.xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge","system" break } @@ -59964,6 +60524,16 @@ $SM_Completers = { break } + # Amazon.SageMaker.ClusterNodeRecovery + { + ($_ -eq "New-SMCluster/NodeRecovery") -Or + ($_ -eq "Update-SMCluster/NodeRecovery") + } + { + $v = "Automatic","None" + break + } + # Amazon.SageMaker.ClusterSortBy { ($_ -eq "Get-SMClusterList/SortBy") -Or @@ -60334,6 +60904,16 @@ $SM_Completers = { break } + # Amazon.SageMaker.LifecycleManagement + { + ($_ -eq "New-SMDomain/IdleSettings_LifecycleManagement") -Or + ($_ -eq "Update-SMDomain/IdleSettings_LifecycleManagement") + } + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.SageMaker.ListCompilationJobsSortBy "Get-SMCompilationJobList/SortBy" { @@ -61012,6 +61592,16 @@ $SM_Completers = { break } + # Amazon.SageMaker.TagPropagation + { + ($_ -eq "New-SMDomain/TagPropagation") -Or + ($_ -eq "Update-SMDomain/TagPropagation") + } + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.SageMaker.TargetDevice "New-SMCompilationJob/OutputConfig_TargetDevice" { @@ -61234,6 +61824,7 @@ $SM_map = @{ "HyperParameterTuningResourceConfig_InstanceType"=@("New-SMHyperParameterTuningJob") "IamPolicyConstraints_SourceIp"=@("New-SMWorkteam","Update-SMWorkteam") "IamPolicyConstraints_VpcSourceIp"=@("New-SMWorkteam","Update-SMWorkteam") + "IdleSettings_LifecycleManagement"=@("New-SMDomain","Update-SMDomain") "InferenceExecutionConfig_Mode"=@("New-SMModel") "InputConfig_Framework"=@("New-SMCompilationJob") "InstanceType"=@("New-SMNotebookInstance","Update-SMNotebookInstance") @@ -61246,6 +61837,7 @@ $SM_map = @{ "ModelPackageType"=@("Get-SMModelPackageList") "ModelQualityAppSpecification_ProblemType"=@("New-SMModelQualityJobDefinition") "MonitoringTypeEqual"=@("Get-SMMonitoringExecutionList","Get-SMMonitoringScheduleList") + "NodeRecovery"=@("New-SMCluster","Update-SMCluster") "OfflineStoreConfig_TableFormat"=@("New-SMFeatureGroup") "OfflineStoreStatusEqual"=@("Get-SMFeatureGroupList") "OnlineStoreConfig_StorageType"=@("New-SMFeatureGroup") @@ -61277,6 +61869,7 @@ $SM_map = @{ "StudioLifecycleConfigAppType"=@("New-SMStudioLifecycleConfig") "TabularJobConfig_Mode"=@("New-SMAutoMLJobV2") "TabularJobConfig_ProblemType"=@("New-SMAutoMLJobV2") + "TagPropagation"=@("New-SMDomain","Update-SMDomain") "TargetPlatform_Accelerator"=@("New-SMCompilationJob") "TargetPlatform_Arch"=@("New-SMCompilationJob") "TargetPlatform_Os"=@("New-SMCompilationJob") @@ -62180,7 +62773,8 @@ $SMM_SelectCompleters = { } $SMM_SelectMap = @{ - "Select"=@("Add-SMMMetric") + "Select"=@("Get-SMMMetric", + "Add-SMMMetric") } _awsArgumentCompleterRegistration $SMM_SelectCompleters $SMM_SelectMap @@ -63834,6 +64428,16 @@ $SES2_Completers = { break } + # Amazon.SimpleEmailV2.HttpsPolicy + { + ($_ -eq "Write-SES2ConfigurationSetTrackingOption/HttpsPolicy") -Or + ($_ -eq "New-SES2ConfigurationSet/TrackingOptions_HttpsPolicy") + } + { + $v = "OPTIONAL","REQUIRE","REQUIRE_OPEN_ONLY" + break + } + # Amazon.SimpleEmailV2.ImportDestinationType "Get-SES2ImportJobList/ImportDestinationType" { @@ -63924,6 +64528,7 @@ $SES2_map = @{ "Filter_FilteredStatus"=@("Get-SES2ContactCollection") "GuardianAttributes_OptimizedSharedDelivery"=@("Write-SES2AccountVdmAttribute") "GuardianOptions_OptimizedSharedDelivery"=@("New-SES2ConfigurationSet","Write-SES2ConfigurationSetVdmOption") + "HttpsPolicy"=@("Write-SES2ConfigurationSetTrackingOption") "ImportDataSource_DataFormat"=@("New-SES2ImportJob") "ImportDestinationType"=@("Get-SES2ImportJobList") "JobStatus"=@("Get-SES2ExportJobList") @@ -63935,6 +64540,7 @@ $SES2_map = @{ "SigningAttributesOrigin"=@("Write-SES2EmailIdentityDkimSigningAttribute") "SuppressionListDestination_SuppressionListImportAction"=@("New-SES2ImportJob") "TlsPolicy"=@("Write-SES2ConfigurationSetDeliveryOption") + "TrackingOptions_HttpsPolicy"=@("New-SES2ConfigurationSet") "VdmAttributes_VdmEnabled"=@("Write-SES2AccountVdmAttribute") } @@ -66396,6 +67002,13 @@ $SFN_Completers = { break } + # Amazon.StepFunctions.ValidateStateMachineDefinitionSeverity + "Test-SFNStateMachineDefinitionValidation/Severity" + { + $v = "ERROR","WARNING" + break + } + } @@ -66410,6 +67023,7 @@ $SFN_map = @{ "InspectionLevel"=@("Test-SFNState") "LoggingConfiguration_Level"=@("New-SFNStateMachine","Update-SFNStateMachine") "RedriveFilter"=@("Get-SFNExecutionList") + "Severity"=@("Test-SFNStateMachineDefinitionValidation") "StatusFilter"=@("Get-SFNExecutionList") "Type"=@("New-SFNStateMachine","Test-SFNStateMachineDefinitionValidation") } @@ -66529,6 +67143,18 @@ $SG_Completers = { break } + # Amazon.StorageGateway.EncryptionType + { + ($_ -eq "New-SGNFSFileShare/EncryptionType") -Or + ($_ -eq "New-SGSMBFileShare/EncryptionType") -Or + ($_ -eq "Update-SGNFSFileShare/EncryptionType") -Or + ($_ -eq "Update-SGSMBFileShare/EncryptionType") + } + { + $v = "DsseKms","SseKms","SseS3" + break + } + # Amazon.StorageGateway.GatewayCapacity "Update-SGGatewayInformation/GatewayCapacity" { @@ -66579,6 +67205,7 @@ $SG_Completers = { $SG_map = @{ "CaseSensitivity"=@("New-SGSMBFileShare","Update-SGSMBFileShare") + "EncryptionType"=@("New-SGNFSFileShare","New-SGSMBFileShare","Update-SGNFSFileShare","Update-SGSMBFileShare") "GatewayCapacity"=@("Update-SGGatewayInformation") "ObjectACL"=@("New-SGNFSFileShare","New-SGSMBFileShare","Update-SGNFSFileShare","Update-SGSMBFileShare") "RetentionLockType"=@("New-SGTapePool") @@ -67590,7 +68217,10 @@ $TIDB_Completers = { switch ($("$commandName/$parameterName")) { # Amazon.TimestreamInfluxDB.DbInstanceType - "New-TIDBDbInstance/DbInstanceType" + { + ($_ -eq "New-TIDBDbInstance/DbInstanceType") -Or + ($_ -eq "Update-TIDBDbInstance/DbInstanceType") + } { $v = "db.influx.12xlarge","db.influx.16xlarge","db.influx.2xlarge","db.influx.4xlarge","db.influx.8xlarge","db.influx.large","db.influx.medium","db.influx.xlarge" break @@ -67604,7 +68234,10 @@ $TIDB_Completers = { } # Amazon.TimestreamInfluxDB.DeploymentType - "New-TIDBDbInstance/DeploymentType" + { + ($_ -eq "New-TIDBDbInstance/DeploymentType") -Or + ($_ -eq "Update-TIDBDbInstance/DeploymentType") + } { $v = "SINGLE_AZ","WITH_MULTIAZ_STANDBY" break @@ -67633,9 +68266,9 @@ $TIDB_Completers = { } $TIDB_map = @{ - "DbInstanceType"=@("New-TIDBDbInstance") + "DbInstanceType"=@("New-TIDBDbInstance","Update-TIDBDbInstance") "DbStorageType"=@("New-TIDBDbInstance") - "DeploymentType"=@("New-TIDBDbInstance") + "DeploymentType"=@("New-TIDBDbInstance","Update-TIDBDbInstance") "InfluxDBv2_LogLevel"=@("New-TIDBDbParameterGroup") "InfluxDBv2_TracingType"=@("New-TIDBDbParameterGroup") } @@ -70856,127 +71489,6 @@ $WD_SelectMap = @{ } _awsArgumentCompleterRegistration $WD_SelectCompleters $WD_SelectMap -# Argument completions for service Amazon WorkLink - - -$WL_Completers = { - param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) - - switch ($("$commandName/$parameterName")) - { - # Amazon.WorkLink.AuthorizationProviderType - "Add-WLWebsiteAuthorizationProviderToFleet/AuthorizationProviderType" - { - $v = "SAML" - break - } - - # Amazon.WorkLink.IdentityProviderType - "Update-WLIdentityProviderConfiguration/IdentityProviderType" - { - $v = "SAML" - break - } - - - } - - $v | - Where-Object { $_ -like "$wordToComplete*" } | - ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } -} - -$WL_map = @{ - "AuthorizationProviderType"=@("Add-WLWebsiteAuthorizationProviderToFleet") - "IdentityProviderType"=@("Update-WLIdentityProviderConfiguration") -} - -_awsArgumentCompleterRegistration $WL_Completers $WL_map - -$WL_SelectCompleters = { - param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) - - $cmdletType = Invoke-Expression "[Amazon.PowerShell.Cmdlets.WL.$($commandName.Replace('-', ''))Cmdlet]" - if (-not $cmdletType) { - return - } - $awsCmdletAttribute = $cmdletType.GetCustomAttributes([Amazon.PowerShell.Common.AWSCmdletAttribute], $false) - if (-not $awsCmdletAttribute) { - return - } - $type = $awsCmdletAttribute.SelectReturnType - if (-not $type) { - return - } - - $splitSelect = $wordToComplete -Split '\.' - $splitSelect | Select-Object -First ($splitSelect.Length - 1) | ForEach-Object { - $propertyName = $_ - $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')) | Where-Object { $_.Name -ieq $propertyName } - if ($properties.Length -ne 1) { - break - } - $type = $properties.PropertyType - $prefix += "$($properties.Name)." - - $asEnumerableType = $type.GetInterface('System.Collections.Generic.IEnumerable`1') - if ($asEnumerableType -and $type -ne [System.String]) { - $type = $asEnumerableType.GetGenericArguments()[0] - } - } - - $v = @( '*' ) - $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')).Name | Sort-Object - if ($properties) { - $v += ($properties | ForEach-Object { $prefix + $_ }) - } - $parameters = $cmdletType.GetProperties(('Instance', 'Public')) | Where-Object { $_.GetCustomAttributes([System.Management.Automation.ParameterAttribute], $true) } | Select-Object -ExpandProperty Name | Sort-Object - if ($parameters) { - $v += ($parameters | ForEach-Object { "^$_" }) - } - - $v | - Where-Object { $_ -match "^$([System.Text.RegularExpressions.Regex]::Escape($wordToComplete)).*" } | - ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } -} - -$WL_SelectMap = @{ - "Select"=@("Register-WLDomain", - "Add-WLWebsiteAuthorizationProviderToFleet", - "Register-WLWebsiteCertificateAuthority", - "New-WLFleet", - "Remove-WLFleet", - "Get-WLAuditStreamConfiguration", - "Get-WLCompanyNetworkConfiguration", - "Get-WLDevice", - "Get-WLDevicePolicyConfiguration", - "Get-WLDomain", - "Get-WLFleetMetadata", - "Get-WLIdentityProviderConfiguration", - "Get-WLWebsiteCertificateAuthority", - "Unregister-WLDomain", - "Remove-WLWebsiteAuthorizationProviderFromFleet", - "Unregister-WLWebsiteCertificateAuthority", - "Get-WLDeviceList", - "Get-WLDomainList", - "Get-WLFleetList", - "Get-WLResourceTag", - "Get-WLWebsiteAuthorizationProviderList", - "Get-WLWebsiteCertificateAuthorityList", - "Restore-WLDomainAccess", - "Revoke-WLDomainAccess", - "Disconnect-WLUser", - "Add-WLResourceTag", - "Remove-WLResourceTag", - "Update-WLAuditStreamConfiguration", - "Update-WLCompanyNetworkConfiguration", - "Update-WLDevicePolicyConfiguration", - "Update-WLDomainMetadata", - "Update-WLFleetMetadata", - "Update-WLIdentityProviderConfiguration") -} - -_awsArgumentCompleterRegistration $WL_SelectCompleters $WL_SelectMap # Argument completions for service Amazon WorkMail @@ -71806,6 +72318,20 @@ $WSW_Completers = { break } + # Amazon.WorkSpacesWeb.SessionSortBy + "Get-WSWSessionList/SortBy" + { + $v = "StartTimeAscending","StartTimeDescending" + break + } + + # Amazon.WorkSpacesWeb.SessionStatus + "Get-WSWSessionList/Status" + { + $v = "Active","Terminated" + break + } + } @@ -71823,6 +72349,8 @@ $WSW_map = @{ "InstanceType"=@("New-WSWPortal","Update-WSWPortal") "PasteAllowed"=@("New-WSWUserSetting","Update-WSWUserSetting") "PrintAllowed"=@("New-WSWUserSetting","Update-WSWUserSetting") + "SortBy"=@("Get-WSWSessionList") + "Status"=@("Get-WSWSessionList") "UploadAllowed"=@("New-WSWUserSetting","Update-WSWUserSetting") } @@ -71904,12 +72432,14 @@ $WSW_SelectMap = @{ "Unregister-WSWTrustStore", "Unregister-WSWUserAccessLoggingSetting", "Unregister-WSWUserSetting", + "Revoke-WSWSession", "Get-WSWBrowserSetting", "Get-WSWIdentityProvider", "Get-WSWIpAccessSetting", "Get-WSWNetworkSetting", "Get-WSWPortal", "Get-WSWPortalServiceProviderMetadata", + "Get-WSWSession", "Get-WSWTrustStore", "Get-WSWTrustStoreCertificate", "Get-WSWUserAccessLoggingSetting", @@ -71919,6 +72449,7 @@ $WSW_SelectMap = @{ "Get-WSWIpAccessSettingList", "Get-WSWNetworkSettingList", "Get-WSWPortalList", + "Get-WSWSessionList", "Get-WSWResourceTag", "Get-WSWTrustStoreCertificateList", "Get-WSWTrustStoreList", diff --git a/modules/AWSPowerShell/Cmdlets/ACMPCA/AmazonACMPCAClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ACMPCA/AmazonACMPCAClientCmdlet.cs index 0448dd1d07..ce2b341d80 100644 --- a/modules/AWSPowerShell/Cmdlets/ACMPCA/AmazonACMPCAClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ACMPCA/AmazonACMPCAClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonACMPCA CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonACMPCAConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/APIGateway/AmazonAPIGatewayClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/APIGateway/AmazonAPIGatewayClientCmdlet.cs index 04b4938441..6ab33dfad3 100644 --- a/modules/AWSPowerShell/Cmdlets/APIGateway/AmazonAPIGatewayClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/APIGateway/AmazonAPIGatewayClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAPIGateway CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAPIGatewayConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ARCZonalShift/AmazonARCZonalShiftClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ARCZonalShift/AmazonARCZonalShiftClientCmdlet.cs index 61ab32ad18..56a10a2fe9 100644 --- a/modules/AWSPowerShell/Cmdlets/ARCZonalShift/AmazonARCZonalShiftClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ARCZonalShift/AmazonARCZonalShiftClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonARCZonalShift CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonARCZonalShiftConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AWSHealth/AmazonAWSHealthClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AWSHealth/AmazonAWSHealthClientCmdlet.cs index d9a97f76a4..7e0267f2bd 100644 --- a/modules/AWSPowerShell/Cmdlets/AWSHealth/AmazonAWSHealthClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AWSHealth/AmazonAWSHealthClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAWSHealth CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAWSHealthConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AWSMarketplaceCommerceAnalytics/AmazonAWSMarketplaceCommerceAnalyticsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AWSMarketplaceCommerceAnalytics/AmazonAWSMarketplaceCommerceAnalyticsClientCmdlet.cs index d5b88d9f10..0449d15cfd 100644 --- a/modules/AWSPowerShell/Cmdlets/AWSMarketplaceCommerceAnalytics/AmazonAWSMarketplaceCommerceAnalyticsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AWSMarketplaceCommerceAnalytics/AmazonAWSMarketplaceCommerceAnalyticsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAWSMarketplaceCommerceAnalytics CreateClient(AWSCredentials cre return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAWSMarketplaceCommerceAnalyticsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AWSMarketplaceMetering/AmazonAWSMarketplaceMeteringClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AWSMarketplaceMetering/AmazonAWSMarketplaceMeteringClientCmdlet.cs index 50479f29b9..4fa9c42078 100644 --- a/modules/AWSPowerShell/Cmdlets/AWSMarketplaceMetering/AmazonAWSMarketplaceMeteringClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AWSMarketplaceMetering/AmazonAWSMarketplaceMeteringClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAWSMarketplaceMetering CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAWSMarketplaceMeteringConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AWSSupport/AmazonAWSSupportClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AWSSupport/AmazonAWSSupportClientCmdlet.cs index d73625c291..704f4ed282 100644 --- a/modules/AWSPowerShell/Cmdlets/AWSSupport/AmazonAWSSupportClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AWSSupport/AmazonAWSSupportClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonAWSSupport CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAWSSupportConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AccessAnalyzer/AmazonAccessAnalyzerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AccessAnalyzer/AmazonAccessAnalyzerClientCmdlet.cs index 68c7bd8b4e..cff18eea89 100644 --- a/modules/AWSPowerShell/Cmdlets/AccessAnalyzer/AmazonAccessAnalyzerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AccessAnalyzer/AmazonAccessAnalyzerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAccessAnalyzer CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAccessAnalyzerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Account/AmazonAccountClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Account/AmazonAccountClientCmdlet.cs index 3d812b0d48..d129804981 100644 --- a/modules/AWSPowerShell/Cmdlets/Account/AmazonAccountClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Account/AmazonAccountClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAccount CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAccountConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Amplify/AmazonAmplifyClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Amplify/AmazonAmplifyClientCmdlet.cs index 30eddb7830..ce99a1efa7 100644 --- a/modules/AWSPowerShell/Cmdlets/Amplify/AmazonAmplifyClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Amplify/AmazonAmplifyClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAmplify CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAmplifyConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Amplify/Basic/New-AMPApp-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Amplify/Basic/New-AMPApp-Cmdlet.cs index 6f30cb8e3d..8a4e42dbd8 100644 --- a/modules/AWSPowerShell/Cmdlets/Amplify/Basic/New-AMPApp-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Amplify/Basic/New-AMPApp-Cmdlet.cs @@ -320,7 +320,12 @@ public partial class NewAMPAppCmdlet : AmazonAmplifyClientCmdlet, IExecutor /// The platform for the Amplify app. For a static app, set the platform type to WEB. /// For a dynamic server-side rendered (SSR) app, set the platform type to WEB_COMPUTE. /// For an app requiring Amplify Hosting's original SSR support only, set the platform - /// type to WEB_DYNAMIC. + /// type to WEB_DYNAMIC.If you are deploying an SSG only app with Next.js version 14 or later, you must set + /// the platform type to WEB_COMPUTE and set the artifacts baseDirectory + /// to .next in the application's build settings. For an example of the build specification + /// settings, see Amplify + /// build settings for a Next.js 14 SSG application in the Amplify Hosting User + /// Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Amplify/Basic/Update-AMPApp-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Amplify/Basic/Update-AMPApp-Cmdlet.cs index 510173d7d5..ba8ad74af6 100644 --- a/modules/AWSPowerShell/Cmdlets/Amplify/Basic/Update-AMPApp-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Amplify/Basic/Update-AMPApp-Cmdlet.cs @@ -327,7 +327,8 @@ public partial class UpdateAMPAppCmdlet : AmazonAmplifyClientCmdlet, IExecutor /// The platform for the Amplify app. For a static app, set the platform type to WEB. /// For a dynamic server-side rendered (SSR) app, set the platform type to WEB_COMPUTE. /// For an app requiring Amplify Hosting's original SSR support only, set the platform - /// type to WEB_DYNAMIC. + /// type to WEB_DYNAMIC.If you are deploying an SSG only app with Next.js version 14 or later, you must set + /// the platform type to WEB_COMPUTE. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/AmplifyBackend/AmazonAmplifyBackendClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AmplifyBackend/AmazonAmplifyBackendClientCmdlet.cs index 123ce87210..15570a042c 100644 --- a/modules/AWSPowerShell/Cmdlets/AmplifyBackend/AmazonAmplifyBackendClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AmplifyBackend/AmazonAmplifyBackendClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAmplifyBackend CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAmplifyBackendConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AmplifyUIBuilder/AmazonAmplifyUIBuilderClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AmplifyUIBuilder/AmazonAmplifyUIBuilderClientCmdlet.cs index 72f01f74f1..fdcf83d485 100644 --- a/modules/AWSPowerShell/Cmdlets/AmplifyUIBuilder/AmazonAmplifyUIBuilderClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AmplifyUIBuilder/AmazonAmplifyUIBuilderClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAmplifyUIBuilder CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAmplifyUIBuilderConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApiGatewayManagementApi/AmazonApiGatewayManagementApiClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApiGatewayManagementApi/AmazonApiGatewayManagementApiClientCmdlet.cs index 8c6b32f7eb..b800abe41c 100644 --- a/modules/AWSPowerShell/Cmdlets/ApiGatewayManagementApi/AmazonApiGatewayManagementApiClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApiGatewayManagementApi/AmazonApiGatewayManagementApiClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonApiGatewayManagementApi CreateClient(AWSCredentials credentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonApiGatewayManagementApiConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApiGatewayV2/AmazonApiGatewayV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApiGatewayV2/AmazonApiGatewayV2ClientCmdlet.cs index 6e05f0853d..032bb1279a 100644 --- a/modules/AWSPowerShell/Cmdlets/ApiGatewayV2/AmazonApiGatewayV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApiGatewayV2/AmazonApiGatewayV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonApiGatewayV2 CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonApiGatewayV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.Completers.psm1 index 3f3dbea453..3b60b8cb21 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.Completers.psm1 @@ -80,6 +80,16 @@ $APPC_Completers = { switch ($("$commandName/$parameterName")) { + # Amazon.AppConfig.DeletionProtectionCheck + { + ($_ -eq "Remove-APPCConfigurationProfile/DeletionProtectionCheck") -Or + ($_ -eq "Remove-APPCEnvironment/DeletionProtectionCheck") + } + { + $v = "ACCOUNT_DEFAULT","APPLY","BYPASS" + break + } + # Amazon.AppConfig.GrowthType { ($_ -eq "New-APPCDeploymentStrategy/GrowthType") -Or @@ -106,6 +116,7 @@ $APPC_Completers = { } $APPC_map = @{ + "DeletionProtectionCheck"=@("Remove-APPCConfigurationProfile","Remove-APPCEnvironment") "GrowthType"=@("New-APPCDeploymentStrategy","Update-APPCDeploymentStrategy") "ReplicateTo"=@("New-APPCDeploymentStrategy") } @@ -174,6 +185,7 @@ $APPC_SelectMap = @{ "Remove-APPCExtension", "Remove-APPCExtensionAssociation", "Remove-APPCHostedConfigurationVersion", + "Get-APPCAccountSetting", "Get-APPCApplication", "Get-APPCConfiguration", "Get-APPCConfigurationProfile", @@ -196,6 +208,7 @@ $APPC_SelectMap = @{ "Stop-APPCDeployment", "Add-APPCResourceTag", "Remove-APPCResourceTag", + "Update-APPCAccountSetting", "Update-APPCApplication", "Update-APPCConfigurationProfile", "Update-APPCDeploymentStrategy", diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.psd1 b/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.psd1 index aa8d0a1cc1..78cc715386 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.psd1 +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/AWS.Tools.AppConfig.psd1 @@ -87,6 +87,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Cmdlets to export from this module CmdletsToExport = @( 'Add-APPCResourceTag', + 'Get-APPCAccountSetting', 'Get-APPCApplication', 'Get-APPCApplicationList', 'Get-APPCConfiguration', @@ -123,6 +124,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Start-APPCDeployment', 'Stop-APPCDeployment', 'Test-APPCConfigurationValidity', + 'Update-APPCAccountSetting', 'Update-APPCApplication', 'Update-APPCConfigurationProfile', 'Update-APPCDeploymentStrategy', diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/AmazonAppConfigClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/AmazonAppConfigClientCmdlet.cs index 68d58c07f6..2fe023da74 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/AmazonAppConfigClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/AmazonAppConfigClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppConfig CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppConfigConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Get-APPCAccountSetting-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Get-APPCAccountSetting-Cmdlet.cs new file mode 100644 index 0000000000..a85b3d151c --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Get-APPCAccountSetting-Cmdlet.cs @@ -0,0 +1,153 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.AppConfig; +using Amazon.AppConfig.Model; + +namespace Amazon.PowerShell.Cmdlets.APPC +{ + /// + /// Returns information about the status of the DeletionProtection parameter. + /// + [Cmdlet("Get", "APPCAccountSetting")] + [OutputType("Amazon.AppConfig.Model.DeletionProtectionSettings")] + [AWSCmdlet("Calls the AWS AppConfig GetAccountSettings API operation.", Operation = new[] {"GetAccountSettings"}, SelectReturnType = typeof(Amazon.AppConfig.Model.GetAccountSettingsResponse))] + [AWSCmdletOutput("Amazon.AppConfig.Model.DeletionProtectionSettings or Amazon.AppConfig.Model.GetAccountSettingsResponse", + "This cmdlet returns an Amazon.AppConfig.Model.DeletionProtectionSettings object.", + "The service call response (type Amazon.AppConfig.Model.GetAccountSettingsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetAPPCAccountSettingCmdlet : AmazonAppConfigClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'DeletionProtection'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.AppConfig.Model.GetAccountSettingsResponse). + /// Specifying the name of a property of type Amazon.AppConfig.Model.GetAccountSettingsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "DeletionProtection"; + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.AppConfig.Model.GetAccountSettingsRequest(); + + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.AppConfig.Model.GetAccountSettingsResponse CallAWSServiceOperation(IAmazonAppConfig client, Amazon.AppConfig.Model.GetAccountSettingsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS AppConfig", "GetAccountSettings"); + try + { + #if DESKTOP + return client.GetAccountSettings(request); + #elif CORECLR + return client.GetAccountSettingsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Func Select { get; set; } = + (response, cmdlet) => response.DeletionProtection; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Get-APPCConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Get-APPCConfiguration-Cmdlet.cs index 7b42a3ae40..761664480a 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Get-APPCConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Get-APPCConfiguration-Cmdlet.cs @@ -37,7 +37,7 @@ namespace Amazon.PowerShell.Cmdlets.APPC /// StartConfigurationSession /// and GetLatestConfiguration /// APIs instead. - ///
  • GetConfiguration is a priced call. For more information, see Pricing. + ///
  • GetConfiguration is a priced call. For more information, see Pricing. ///


  • This operation is deprecated. /// [Cmdlet("Get", "APPCConfiguration")] @@ -74,16 +74,16 @@ public partial class GetAPPCConfigurationCmdlet : AmazonAppConfigClientCmdlet, I #region Parameter ClientConfigurationVersion /// /// - /// The configuration version returned in the most recent GetConfiguration response.AppConfig uses the value of the ClientConfigurationVersion parameter to identify + /// The configuration version returned in the most recent GetConfiguration response.AppConfig uses the value of the ClientConfigurationVersion parameter to identify /// the configuration version on your clients. If you don’t send ClientConfigurationVersion - /// with each call to GetConfiguration, your clients receive the current configuration. + /// with each call to GetConfiguration, your clients receive the current configuration. /// You are charged each time your clients receive a configuration.To avoid excess charges, we recommend you use the StartConfigurationSession /// and GetLatestConfiguration /// APIs, which track the client configuration version on your behalf. If you choose to - /// continue using GetConfiguration, we recommend that you include the ClientConfigurationVersion - /// value with every call to GetConfiguration. The value to use for ClientConfigurationVersion - /// comes from the ConfigurationVersion attribute returned by GetConfiguration - /// when there is new or updated data, and should be saved for subsequent calls to GetConfiguration.For more information about working with configurations, see Retrieving + /// continue using GetConfiguration, we recommend that you include the ClientConfigurationVersion + /// value with every call to GetConfiguration. The value to use for ClientConfigurationVersion + /// comes from the ConfigurationVersion attribute returned by GetConfiguration + /// when there is new or updated data, and should be saved for subsequent calls to GetConfiguration.For more information about working with configurations, see Retrieving /// the Configuration in the AppConfig User Guide. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/New-APPCHostedConfigurationVersion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/New-APPCHostedConfigurationVersion-Cmdlet.cs index 1851e7c3c7..4f1488e69a 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/New-APPCHostedConfigurationVersion-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/New-APPCHostedConfigurationVersion-Cmdlet.cs @@ -28,7 +28,10 @@ namespace Amazon.PowerShell.Cmdlets.APPC { /// - /// Creates a new configuration in the AppConfig hosted configuration store. + /// Creates a new configuration in the AppConfig hosted configuration store. If you're + /// creating a feature flag, we recommend you familiarize yourself with the JSON schema + /// for feature flag data. For more information, see Type + /// reference for AWS.AppConfig.FeatureFlags in the AppConfig User Guide. /// [Cmdlet("New", "APPCHostedConfigurationVersion", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.AppConfig.Model.CreateHostedConfigurationVersionResponse")] @@ -82,7 +85,8 @@ public partial class NewAPPCHostedConfigurationVersionCmdlet : AmazonAppConfigCl #region Parameter Content /// /// - /// The content of the configuration or the configuration data. + /// The configuration data, as bytes.AppConfig accepts any type of data, including text formats like JSON or TOML, or binary + /// formats like protocol buffers or compressed data. /// /// The cmdlet will automatically convert the supplied parameter of type string, string[], System.IO.FileInfo or System.IO.Stream to byte[] before supplying it to the service. /// diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCApplication-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCApplication-Cmdlet.cs index c8daa84509..b22ad4c2b8 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCApplication-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCApplication-Cmdlet.cs @@ -28,8 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.APPC { /// - /// Deletes an application. Deleting an application does not delete a configuration from - /// a host. + /// Deletes an application. /// [Cmdlet("Remove", "APPCApplication", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCConfigurationProfile-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCConfigurationProfile-Cmdlet.cs index 82ca09585a..3a17184653 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCConfigurationProfile-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCConfigurationProfile-Cmdlet.cs @@ -28,8 +28,14 @@ namespace Amazon.PowerShell.Cmdlets.APPC { /// - /// Deletes a configuration profile. Deleting a configuration profile does not delete - /// a configuration from a host. + /// Deletes a configuration profile. + /// + /// + /// + /// To prevent users from unintentionally deleting actively-used configuration profiles, + /// enable deletion + /// protection. + /// /// [Cmdlet("Remove", "APPCConfigurationProfile", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -77,6 +83,26 @@ public partial class RemoveAPPCConfigurationProfileCmdlet : AmazonAppConfigClien public System.String ConfigurationProfileId { get; set; } #endregion + #region Parameter DeletionProtectionCheck + /// + /// + /// A parameter to configure deletion protection. If enabled, deletion protection prevents + /// a user from deleting a configuration profile if your application has called either + /// GetLatestConfiguration + /// or for the configuration profile during the specified interval. This parameter supports the following values:
    • BYPASS: Instructs AppConfig to bypass the deletion protection check and delete + /// a configuration profile even if deletion protection would have otherwise prevented + /// it.
    • APPLY: Instructs the deletion protection check to run, even if deletion protection + /// is disabled at the account level. APPLY also forces the deletion protection + /// check to run against resources created in the past hour, which are normally excluded + /// from deletion protection checks.
    • ACCOUNT_DEFAULT: The default setting, which instructs AppConfig to implement + /// the deletion protection value specified in the UpdateAccountSettings API.
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.AppConfig.DeletionProtectionCheck")] + public Amazon.AppConfig.DeletionProtectionCheck DeletionProtectionCheck { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. @@ -152,6 +178,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter ConfigurationProfileId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.DeletionProtectionCheck = this.DeletionProtectionCheck; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -176,6 +203,10 @@ public object Execute(ExecutorContext context) { request.ConfigurationProfileId = cmdletContext.ConfigurationProfileId; } + if (cmdletContext.DeletionProtectionCheck != null) + { + request.DeletionProtectionCheck = cmdletContext.DeletionProtectionCheck; + } CmdletOutput output; @@ -239,6 +270,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String ApplicationId { get; set; } public System.String ConfigurationProfileId { get; set; } + public Amazon.AppConfig.DeletionProtectionCheck DeletionProtectionCheck { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCDeploymentStrategy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCDeploymentStrategy-Cmdlet.cs index 520cb0e25c..f847d118ce 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCDeploymentStrategy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCDeploymentStrategy-Cmdlet.cs @@ -28,8 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.APPC { /// - /// Deletes a deployment strategy. Deleting a deployment strategy does not delete a configuration - /// from a host. + /// Deletes a deployment strategy. /// [Cmdlet("Remove", "APPCDeploymentStrategy", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCEnvironment-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCEnvironment-Cmdlet.cs index c496b726ce..17e3577b2f 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCEnvironment-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Remove-APPCEnvironment-Cmdlet.cs @@ -28,8 +28,14 @@ namespace Amazon.PowerShell.Cmdlets.APPC { /// - /// Deletes an environment. Deleting an environment does not delete a configuration from - /// a host. + /// Deletes an environment. + /// + /// + /// + /// To prevent users from unintentionally deleting actively-used environments, enable + /// deletion + /// protection. + /// /// [Cmdlet("Remove", "APPCEnvironment", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -60,6 +66,25 @@ public partial class RemoveAPPCEnvironmentCmdlet : AmazonAppConfigClientCmdlet, public System.String ApplicationId { get; set; } #endregion + #region Parameter DeletionProtectionCheck + /// + /// + /// A parameter to configure deletion protection. If enabled, deletion protection prevents + /// a user from deleting an environment if your application called either GetLatestConfiguration + /// or in the environment during the specified interval. This parameter supports the following values:
    • BYPASS: Instructs AppConfig to bypass the deletion protection check and delete + /// a configuration profile even if deletion protection would have otherwise prevented + /// it.
    • APPLY: Instructs the deletion protection check to run, even if deletion protection + /// is disabled at the account level. APPLY also forces the deletion protection + /// check to run against resources created in the past hour, which are normally excluded + /// from deletion protection checks.
    • ACCOUNT_DEFAULT: The default setting, which instructs AppConfig to implement + /// the deletion protection value specified in the UpdateAccountSettings API.
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.AppConfig.DeletionProtectionCheck")] + public Amazon.AppConfig.DeletionProtectionCheck DeletionProtectionCheck { get; set; } + #endregion + #region Parameter EnvironmentId /// /// @@ -145,6 +170,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter ApplicationId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.DeletionProtectionCheck = this.DeletionProtectionCheck; context.EnvironmentId = this.EnvironmentId; #if MODULAR if (this.EnvironmentId == null && ParameterWasBound(nameof(this.EnvironmentId))) @@ -172,6 +198,10 @@ public object Execute(ExecutorContext context) { request.ApplicationId = cmdletContext.ApplicationId; } + if (cmdletContext.DeletionProtectionCheck != null) + { + request.DeletionProtectionCheck = cmdletContext.DeletionProtectionCheck; + } if (cmdletContext.EnvironmentId != null) { request.EnvironmentId = cmdletContext.EnvironmentId; @@ -238,6 +268,7 @@ private Amazon.AppConfig.Model.DeleteEnvironmentResponse CallAWSServiceOperation internal partial class CmdletContext : ExecutorContext { public System.String ApplicationId { get; set; } + public Amazon.AppConfig.DeletionProtectionCheck DeletionProtectionCheck { get; set; } public System.String EnvironmentId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => null; diff --git a/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Update-APPCAccountSetting-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Update-APPCAccountSetting-Cmdlet.cs new file mode 100644 index 0000000000..ce64fda395 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/AppConfig/Basic/Update-APPCAccountSetting-Cmdlet.cs @@ -0,0 +1,227 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.AppConfig; +using Amazon.AppConfig.Model; + +namespace Amazon.PowerShell.Cmdlets.APPC +{ + /// + /// Updates the value of the DeletionProtection parameter. + /// + [Cmdlet("Update", "APPCAccountSetting", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.AppConfig.Model.DeletionProtectionSettings")] + [AWSCmdlet("Calls the AWS AppConfig UpdateAccountSettings API operation.", Operation = new[] {"UpdateAccountSettings"}, SelectReturnType = typeof(Amazon.AppConfig.Model.UpdateAccountSettingsResponse))] + [AWSCmdletOutput("Amazon.AppConfig.Model.DeletionProtectionSettings or Amazon.AppConfig.Model.UpdateAccountSettingsResponse", + "This cmdlet returns an Amazon.AppConfig.Model.DeletionProtectionSettings object.", + "The service call response (type Amazon.AppConfig.Model.UpdateAccountSettingsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateAPPCAccountSettingCmdlet : AmazonAppConfigClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DeletionProtection_Enabled + /// + /// + /// A parameter that indicates if deletion protection is enabled or not. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? DeletionProtection_Enabled { get; set; } + #endregion + + #region Parameter DeletionProtection_ProtectionPeriodInMinute + /// + /// + /// The time interval during which AppConfig monitors for calls to GetLatestConfiguration + /// or for a configuration profile or from an environment. AppConfig returns an error + /// if a user calls or for the designated configuration profile or environment. To bypass + /// the error and delete a configuration profile or an environment, specify BYPASS + /// for the DeletionProtectionCheck parameter for either or . + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DeletionProtection_ProtectionPeriodInMinutes")] + public System.Int32? DeletionProtection_ProtectionPeriodInMinute { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'DeletionProtection'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.AppConfig.Model.UpdateAccountSettingsResponse). + /// Specifying the name of a property of type Amazon.AppConfig.Model.UpdateAccountSettingsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "DeletionProtection"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-APPCAccountSetting (UpdateAccountSettings)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DeletionProtection_Enabled = this.DeletionProtection_Enabled; + context.DeletionProtection_ProtectionPeriodInMinute = this.DeletionProtection_ProtectionPeriodInMinute; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.AppConfig.Model.UpdateAccountSettingsRequest(); + + + // populate DeletionProtection + var requestDeletionProtectionIsNull = true; + request.DeletionProtection = new Amazon.AppConfig.Model.DeletionProtectionSettings(); + System.Boolean? requestDeletionProtection_deletionProtection_Enabled = null; + if (cmdletContext.DeletionProtection_Enabled != null) + { + requestDeletionProtection_deletionProtection_Enabled = cmdletContext.DeletionProtection_Enabled.Value; + } + if (requestDeletionProtection_deletionProtection_Enabled != null) + { + request.DeletionProtection.Enabled = requestDeletionProtection_deletionProtection_Enabled.Value; + requestDeletionProtectionIsNull = false; + } + System.Int32? requestDeletionProtection_deletionProtection_ProtectionPeriodInMinute = null; + if (cmdletContext.DeletionProtection_ProtectionPeriodInMinute != null) + { + requestDeletionProtection_deletionProtection_ProtectionPeriodInMinute = cmdletContext.DeletionProtection_ProtectionPeriodInMinute.Value; + } + if (requestDeletionProtection_deletionProtection_ProtectionPeriodInMinute != null) + { + request.DeletionProtection.ProtectionPeriodInMinutes = requestDeletionProtection_deletionProtection_ProtectionPeriodInMinute.Value; + requestDeletionProtectionIsNull = false; + } + // determine if request.DeletionProtection should be set to null + if (requestDeletionProtectionIsNull) + { + request.DeletionProtection = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.AppConfig.Model.UpdateAccountSettingsResponse CallAWSServiceOperation(IAmazonAppConfig client, Amazon.AppConfig.Model.UpdateAccountSettingsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS AppConfig", "UpdateAccountSettings"); + try + { + #if DESKTOP + return client.UpdateAccountSettings(request); + #elif CORECLR + return client.UpdateAccountSettingsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Boolean? DeletionProtection_Enabled { get; set; } + public System.Int32? DeletionProtection_ProtectionPeriodInMinute { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.DeletionProtection; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/AppConfigData/AmazonAppConfigDataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppConfigData/AmazonAppConfigDataClientCmdlet.cs index 1050667eca..1af43be98c 100644 --- a/modules/AWSPowerShell/Cmdlets/AppConfigData/AmazonAppConfigDataClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppConfigData/AmazonAppConfigDataClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppConfigData CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppConfigDataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppFabric/AmazonAppFabricClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppFabric/AmazonAppFabricClientCmdlet.cs index ca2fa2b958..f38bfbf7a8 100644 --- a/modules/AWSPowerShell/Cmdlets/AppFabric/AmazonAppFabricClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppFabric/AmazonAppFabricClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppFabric CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppFabricConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppIntegrationsService/AmazonAppIntegrationsServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppIntegrationsService/AmazonAppIntegrationsServiceClientCmdlet.cs index e8b588a902..6135d264e4 100644 --- a/modules/AWSPowerShell/Cmdlets/AppIntegrationsService/AmazonAppIntegrationsServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppIntegrationsService/AmazonAppIntegrationsServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppIntegrationsService CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppIntegrationsServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppMesh/AmazonAppMeshClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppMesh/AmazonAppMeshClientCmdlet.cs index 8b6b139dc0..fa53cfc3a5 100644 --- a/modules/AWSPowerShell/Cmdlets/AppMesh/AmazonAppMeshClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppMesh/AmazonAppMeshClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppMesh CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppMeshConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppRegistry/AmazonAppRegistryClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppRegistry/AmazonAppRegistryClientCmdlet.cs index 518673538f..3fe42baea7 100644 --- a/modules/AWSPowerShell/Cmdlets/AppRegistry/AmazonAppRegistryClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppRegistry/AmazonAppRegistryClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppRegistry CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppRegistryConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppRunner/AmazonAppRunnerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppRunner/AmazonAppRunnerClientCmdlet.cs index cff1baa6ff..e47442c8f4 100644 --- a/modules/AWSPowerShell/Cmdlets/AppRunner/AmazonAppRunnerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppRunner/AmazonAppRunnerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppRunner CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppRunnerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppStream/AmazonAppStreamClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppStream/AmazonAppStreamClientCmdlet.cs index 10688373e7..923c1aba6c 100644 --- a/modules/AWSPowerShell/Cmdlets/AppStream/AmazonAppStreamClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppStream/AmazonAppStreamClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppStream CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppStreamConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppSync/AWS.Tools.AppSync.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/AppSync/AWS.Tools.AppSync.Completers.psm1 index 6d446907c8..be8e3bdfc5 100644 --- a/modules/AWSPowerShell/Cmdlets/AppSync/AWS.Tools.AppSync.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/AppSync/AWS.Tools.AppSync.Completers.psm1 @@ -180,7 +180,7 @@ $ASYN_Completers = { ($_ -eq "Update-ASYNGraphqlApi/LogConfig_FieldLogLevel") } { - $v = "ALL","ERROR","NONE" + $v = "ALL","DEBUG","ERROR","INFO","NONE" break } diff --git a/modules/AWSPowerShell/Cmdlets/AppSync/AmazonAppSyncClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppSync/AmazonAppSyncClientCmdlet.cs index 391ab260a6..72496ed460 100644 --- a/modules/AWSPowerShell/Cmdlets/AppSync/AmazonAppSyncClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppSync/AmazonAppSyncClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppSync CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppSyncConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AppSync/Basic/New-ASYNGraphqlApi-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppSync/Basic/New-ASYNGraphqlApi-Cmdlet.cs index 31bdcb8bb1..686716501d 100644 --- a/modules/AWSPowerShell/Cmdlets/AppSync/Basic/New-ASYNGraphqlApi-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppSync/Basic/New-ASYNGraphqlApi-Cmdlet.cs @@ -175,7 +175,11 @@ public partial class NewASYNGraphqlApiCmdlet : AmazonAppSyncClientCmdlet, IExecu #region Parameter LogConfig_FieldLogLevel /// /// - /// The field logging level. Values can be NONE, ERROR, or ALL.
    • NONE: No field-level logs are captured.
    • ERROR: Logs the following information only for the fields that are in error:
      • The error section in the server response.
      • Field-level errors.
      • The generated request/response functions that got resolved for error fields.
    • ALL: The following information is logged for all fields in the query:
      • Field-level tracing information.
      • The generated request/response functions that got resolved for each field.
    + /// The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.
    • NONE: No field-level logs are captured.
    • ERROR: Logs the following information only for the fields that are + /// in the error category:
      • The error section in the server response.
      • Field-level errors.
      • The generated request/response functions that got resolved for error fields.
    • INFO: Logs the following information only for the fields that are in + /// the info and error categories:
      • Info-level messages.
      • The user messages sent through $util.log.info and console.log.
      • Field-level tracing and mapping logs are not shown.
    • DEBUG: Logs the following information only for the fields that are + /// in the debug, info, and error categories:
      • Debug-level messages.
      • The user messages sent through $util.log.info, $util.log.debug, console.log, + /// and console.debug.
      • Field-level tracing and mapping logs are not shown.
    • ALL: The following information is logged for all fields in the query:
      • Field-level tracing information.
      • The generated request/response functions that were resolved for each field.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/AppSync/Basic/Update-ASYNGraphqlApi-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppSync/Basic/Update-ASYNGraphqlApi-Cmdlet.cs index ef5e40a962..8d71d18732 100644 --- a/modules/AWSPowerShell/Cmdlets/AppSync/Basic/Update-ASYNGraphqlApi-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppSync/Basic/Update-ASYNGraphqlApi-Cmdlet.cs @@ -179,7 +179,11 @@ public partial class UpdateASYNGraphqlApiCmdlet : AmazonAppSyncClientCmdlet, IEx #region Parameter LogConfig_FieldLogLevel /// /// - /// The field logging level. Values can be NONE, ERROR, or ALL.
    • NONE: No field-level logs are captured.
    • ERROR: Logs the following information only for the fields that are in error:
      • The error section in the server response.
      • Field-level errors.
      • The generated request/response functions that got resolved for error fields.
    • ALL: The following information is logged for all fields in the query:
      • Field-level tracing information.
      • The generated request/response functions that got resolved for each field.
    + /// The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.
    • NONE: No field-level logs are captured.
    • ERROR: Logs the following information only for the fields that are + /// in the error category:
      • The error section in the server response.
      • Field-level errors.
      • The generated request/response functions that got resolved for error fields.
    • INFO: Logs the following information only for the fields that are in + /// the info and error categories:
      • Info-level messages.
      • The user messages sent through $util.log.info and console.log.
      • Field-level tracing and mapping logs are not shown.
    • DEBUG: Logs the following information only for the fields that are + /// in the debug, info, and error categories:
      • Debug-level messages.
      • The user messages sent through $util.log.info, $util.log.debug, console.log, + /// and console.debug.
      • Field-level tracing and mapping logs are not shown.
    • ALL: The following information is logged for all fields in the query:
      • Field-level tracing information.
      • The generated request/response functions that were resolved for each field.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/AppTest/AmazonAppTestClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AppTest/AmazonAppTestClientCmdlet.cs index c01bd7b688..59aebf68cf 100644 --- a/modules/AWSPowerShell/Cmdlets/AppTest/AmazonAppTestClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AppTest/AmazonAppTestClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppTest CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppTestConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Appflow/AmazonAppflowClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Appflow/AmazonAppflowClientCmdlet.cs index 03efce14b5..b34236902e 100644 --- a/modules/AWSPowerShell/Cmdlets/Appflow/AmazonAppflowClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Appflow/AmazonAppflowClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAppflow CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAppflowConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationAutoScaling/AmazonApplicationAutoScalingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationAutoScaling/AmazonApplicationAutoScalingClientCmdlet.cs index 3990996fa0..8d47d791cc 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationAutoScaling/AmazonApplicationAutoScalingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationAutoScaling/AmazonApplicationAutoScalingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonApplicationAutoScaling CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonApplicationAutoScalingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationCostProfiler/AmazonApplicationCostProfilerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationCostProfiler/AmazonApplicationCostProfilerClientCmdlet.cs index d2117ed8d0..e2385e6a47 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationCostProfiler/AmazonApplicationCostProfilerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationCostProfiler/AmazonApplicationCostProfilerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonApplicationCostProfiler CreateClient(AWSCredentials credentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonApplicationCostProfilerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationDiscoveryService/AmazonApplicationDiscoveryServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationDiscoveryService/AmazonApplicationDiscoveryServiceClientCmdlet.cs index 5ab8808304..f8debddc38 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationDiscoveryService/AmazonApplicationDiscoveryServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationDiscoveryService/AmazonApplicationDiscoveryServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonApplicationDiscoveryService CreateClient(AWSCredentials credent return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonApplicationDiscoveryServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationInsights/AmazonApplicationInsightsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationInsights/AmazonApplicationInsightsClientCmdlet.cs index 07a5f34522..f1910735c4 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationInsights/AmazonApplicationInsightsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationInsights/AmazonApplicationInsightsClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonApplicationInsights CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonApplicationInsightsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AWS.Tools.ApplicationSignals.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AWS.Tools.ApplicationSignals.Completers.psm1 index 4a2d8144ae..c23ab01459 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AWS.Tools.ApplicationSignals.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AWS.Tools.ApplicationSignals.Completers.psm1 @@ -88,12 +88,14 @@ $CWAS_Completers = { ($_ -eq "Update-CWASServiceLevelObjective/RollingInterval_DurationUnit") } { - $v = "DAY","MONTH" + $v = "DAY","HOUR","MINUTE","MONTH" break } # Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator { + ($_ -eq "New-CWASServiceLevelObjective/RequestBasedSliConfig_ComparisonOperator") -Or + ($_ -eq "Update-CWASServiceLevelObjective/RequestBasedSliConfig_ComparisonOperator") -Or ($_ -eq "New-CWASServiceLevelObjective/SliConfig_ComparisonOperator") -Or ($_ -eq "Update-CWASServiceLevelObjective/SliConfig_ComparisonOperator") } @@ -104,6 +106,8 @@ $CWAS_Completers = { # Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType { + ($_ -eq "New-CWASServiceLevelObjective/RequestBasedSliMetricConfig_MetricType") -Or + ($_ -eq "Update-CWASServiceLevelObjective/RequestBasedSliMetricConfig_MetricType") -Or ($_ -eq "New-CWASServiceLevelObjective/SliMetricConfig_MetricType") -Or ($_ -eq "Update-CWASServiceLevelObjective/SliMetricConfig_MetricType") } @@ -122,6 +126,8 @@ $CWAS_Completers = { $CWAS_map = @{ "CalendarInterval_DurationUnit"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") + "RequestBasedSliConfig_ComparisonOperator"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") + "RequestBasedSliMetricConfig_MetricType"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") "RollingInterval_DurationUnit"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") "SliConfig_ComparisonOperator"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") "SliMetricConfig_MetricType"=@("New-CWASServiceLevelObjective","Update-CWASServiceLevelObjective") diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AmazonApplicationSignalsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AmazonApplicationSignalsClientCmdlet.cs index 032991e3c9..98d38d28af 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AmazonApplicationSignalsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/AmazonApplicationSignalsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonApplicationSignals CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonApplicationSignalsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Get-CWASBatchServiceLevelObjectiveBudgetReport-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Get-CWASBatchServiceLevelObjectiveBudgetReport-Cmdlet.cs index bd7eed6655..6fb524b7d4 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Get-CWASBatchServiceLevelObjectiveBudgetReport-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Get-CWASBatchServiceLevelObjectiveBudgetReport-Cmdlet.cs @@ -33,11 +33,11 @@ namespace Amazon.PowerShell.Cmdlets.CWAS /// /// /// - /// An error budget is the amount of time in unhealthy periods that your service - /// can accumulate during an interval before your overall SLO budget health is breached - /// and the SLO is considered to be unmet. For example, an SLO with a threshold of 99.95% - /// and a monthly interval translates to an error budget of 21.9 minutes of downtime in - /// a 30-day month. + /// An error budget is the amount of time or requests in an unhealthy state that + /// your service can accumulate during an interval before your overall SLO budget health + /// is breached and the SLO is considered to be unmet. For example, an SLO with a threshold + /// of 99.95% and a monthly interval translates to an error budget of 21.9 minutes of + /// downtime in a 30-day month. /// /// Budget reports include a health indicator, the attainment value, and remaining budget. /// diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/New-CWASServiceLevelObjective-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/New-CWASServiceLevelObjective-Cmdlet.cs index c0a65397db..bbaf34a89a 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/New-CWASServiceLevelObjective-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/New-CWASServiceLevelObjective-Cmdlet.cs @@ -40,30 +40,54 @@ namespace Amazon.PowerShell.Cmdlets.CWAS /// CloudWatch measures this target frequently you can find whether it has been breached. /// /// - /// When you create an SLO, you set an attainment goal for it. An attainment - /// goal is the ratio of good periods that meet the threshold requirements to the - /// total periods within the interval. For example, an attainment goal of 99.9% means - /// that within your interval, you are targeting 99.9% of the periods to be in healthy - /// state. + /// The target performance quality that is defined for an SLO is the attainment goal. /// - /// After you have created an SLO, you can retrieve error budget reports for it. An error - /// budget is the number of periods or amount of time that your service can accumulate - /// during an interval before your overall SLO budget health is breached and the SLO is - /// considered to be unmet. for example, an SLO with a threshold that 99.95% of requests - /// must be completed under 2000ms every month translates to an error budget of 21.9 minutes - /// of downtime per month. + /// You can set SLO targets for your applications that are discovered by Application Signals, + /// using critical metrics such as latency and availability. You can also set SLOs against + /// any CloudWatch metric or math expression that produces a time series. + /// + /// When you create an SLO, you specify whether it is a period-based SLO or a request-based + /// SLO. Each type of SLO has a different way of evaluating your application's performance + /// against its attainment goal. + ///
    • + /// A period-based SLO uses defined periods of time within a specified total + /// time interval. For each period of time, Application Signals determines whether the + /// application met its goal. The attainment rate is calculated as the number of good + /// periods/number of total periods. /// - /// When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals - /// service-linked role, if it doesn't already exist in your account. This service- linked - /// role has the following permissions: - ///
      • xray:GetServiceGraph
      • logs:StartQuery
      • logs:GetQueryResults
      • cloudwatch:GetMetricData
      • cloudwatch:ListMetrics
      • tag:GetResources
      • autoscaling:DescribeAutoScalingGroups
      - /// You can easily set SLO targets for your applications that are discovered by Application - /// Signals, using critical metrics such as latency and availability. You can also set - /// SLOs against any CloudWatch metric or math expression that produces a time series. + /// For example, for a period-based SLO, meeting an attainment goal of 99.9% means that + /// within your interval, your application must meet its performance goal during at least + /// 99.9% of the time periods. + ///
    • + /// A request-based SLO doesn't use pre-defined periods of time. Instead, the SLO + /// measures number of good requests/number of total requests during the interval. + /// At any time, you can find the ratio of good requests to total requests for the interval + /// up to the time stamp that you specify, and measure that ratio against the goal set + /// in your SLO. + ///
    + /// After you have created an SLO, you can retrieve error budget reports for it. An error + /// budget is the amount of time or amount of requests that your application can be + /// non-compliant with the SLO's goal, and still have your application meet the goal. + ///
    • + /// For a period-based SLO, the error budget starts at a number defined by the highest + /// number of periods that can fail to meet the threshold, while still meeting the overall + /// goal. The remaining error budget decreases with every failed period that is + /// recorded. The error budget within one interval can never increase. /// + /// For example, an SLO with a threshold that 99.95% of requests must be completed under + /// 2000ms every month translates to an error budget of 21.9 minutes of downtime per month. + ///
    • + /// For a request-based SLO, the remaining error budget is dynamic and can increase or + /// decrease, depending on the ratio of good requests to total requests. + ///
    /// For more information about SLOs, see /// Service level objectives (SLOs). - /// + ///
    + /// When you perform a CreateServiceLevelObjective operation, Application Signals + /// creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, + /// if it doesn't already exist in your account. This service- linked role has the following + /// permissions: + ///
    • xray:GetServiceGraph
    • logs:StartQuery
    • logs:GetQueryResults
    • cloudwatch:GetMetricData
    • cloudwatch:ListMetrics
    • tag:GetResources
    • autoscaling:DescribeAutoScalingGroups
    ///
    [Cmdlet("New", "CWASServiceLevelObjective", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.ApplicationSignals.Model.ServiceLevelObjective")] @@ -80,29 +104,48 @@ public partial class NewCWASServiceLevelObjectiveCmdlet : AmazonApplicationSigna #region Parameter Goal_AttainmentGoal /// /// - /// The threshold that determines if the goal is being met. An attainment goal - /// is the ratio of good periods that meet the threshold requirements to the total periods - /// within the interval. For example, an attainment goal of 99.9% means that within your - /// interval, you are targeting 99.9% of the periods to be in healthy state.If you omit this parameter, 99 is used to represent 99% as the attainment goal. + /// The threshold that determines if the goal is being met.If this is a period-based SLO, the attainment goal is the percentage of good periods + /// that meet the threshold requirements to the total periods within the interval. For + /// example, an attainment goal of 99.9% means that within your interval, you are targeting + /// 99.9% of the periods to be in healthy state.If this is a request-based SLO, the attainment goal is the percentage of requests + /// that must be successful to meet the attainment goal.If you omit this parameter, 99 is used to represent 99% as the attainment goal. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public System.Double? Goal_AttainmentGoal { get; set; } #endregion + #region Parameter MonitoredRequestCountMetric_BadCountMetric + /// + /// + /// If you want to count "bad requests" to determine the percentage of successful requests + /// for this request-based SLO, specify the metric to use as "bad requests" in this structure. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_BadCountMetric")] + public Amazon.ApplicationSignals.Model.MetricDataQuery[] MonitoredRequestCountMetric_BadCountMetric { get; set; } + #endregion + + #region Parameter RequestBasedSliConfig_ComparisonOperator + /// + /// + /// The arithmetic operation to use when comparing the specified metric to the threshold. + /// This parameter is required if this SLO is tracking the Latency metric. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator")] + public Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator RequestBasedSliConfig_ComparisonOperator { get; set; } + #endregion + #region Parameter SliConfig_ComparisonOperator /// /// /// The arithmetic operation to use when comparing the specified metric to the threshold. /// /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] [AWSConstantClassSource("Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator")] public Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator SliConfig_ComparisonOperator { get; set; } #endregion @@ -166,6 +209,35 @@ public partial class NewCWASServiceLevelObjectiveCmdlet : AmazonApplicationSigna public Amazon.ApplicationSignals.DurationUnit RollingInterval_DurationUnit { get; set; } #endregion + #region Parameter MonitoredRequestCountMetric_GoodCountMetric + /// + /// + /// If you want to count "good requests" to determine the percentage of successful requests + /// for this request-based SLO, specify the metric to use as "good requests" in this structure. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_GoodCountMetric")] + public Amazon.ApplicationSignals.Model.MetricDataQuery[] MonitoredRequestCountMetric_GoodCountMetric { get; set; } + #endregion + + #region Parameter RequestBasedSliMetricConfig_KeyAttribute + /// + /// + /// If this SLO is related to a metric collected by Application Signals, you must use + /// this field to specify which service the SLO metric is related to. To do so, you must + /// specify at least the Type, Name, and Environment attributes.This is a string-to-string map. It can include the following fields.
    • Type designates the type of object this is.
    • ResourceType specifies the type of the resource. This field is used only when + /// the value of the Type field is Resource or AWS::Resource.
    • Name specifies the name of the object. This is used only if the value of the + /// Type field is Service, RemoteService, or AWS::Service.
    • Identifier identifies the resource objects of this resource. This is used + /// only if the value of the Type field is Resource or AWS::Resource.
    • Environment specifies the location where this object is hosted, or what it + /// belongs to.
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_KeyAttributes")] + public System.Collections.Hashtable RequestBasedSliMetricConfig_KeyAttribute { get; set; } + #endregion + #region Parameter SliMetricConfig_KeyAttribute /// /// @@ -195,22 +267,43 @@ public partial class NewCWASServiceLevelObjectiveCmdlet : AmazonApplicationSigna public Amazon.ApplicationSignals.Model.MetricDataQuery[] SliMetricConfig_MetricDataQuery { get; set; } #endregion + #region Parameter RequestBasedSliConfig_MetricThreshold + /// + /// + /// The value that the SLI metric is compared to. This parameter is required if this SLO + /// is tracking the Latency metric. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Double? RequestBasedSliConfig_MetricThreshold { get; set; } + #endregion + #region Parameter SliConfig_MetricThreshold /// /// - /// The value that the SLI metric is compared to. + /// This parameter is used only when a request-based SLO tracks the Latency metric. + /// Specify the threshold value that the observed Latency metric values are to + /// be compared to. /// /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] public System.Double? SliConfig_MetricThreshold { get; set; } #endregion + #region Parameter RequestBasedSliMetricConfig_MetricType + /// + /// + /// If the SLO is to monitor either the LATENCY or AVAILABILITY metric that + /// Application Signals collects, use this field to specify which of those metrics is + /// used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_MetricType")] + [AWSConstantClassSource("Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType")] + public Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType RequestBasedSliMetricConfig_MetricType { get; set; } + #endregion + #region Parameter SliMetricConfig_MetricType /// /// @@ -242,6 +335,18 @@ public partial class NewCWASServiceLevelObjectiveCmdlet : AmazonApplicationSigna public System.String Name { get; set; } #endregion + #region Parameter RequestBasedSliMetricConfig_OperationName + /// + /// + /// If the SLO is to monitor a specific operation of the service, use this field to specify + /// the name of that operation. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_OperationName")] + public System.String RequestBasedSliMetricConfig_OperationName { get; set; } + #endregion + #region Parameter SliMetricConfig_OperationName /// /// @@ -310,6 +415,19 @@ public partial class NewCWASServiceLevelObjectiveCmdlet : AmazonApplicationSigna public Amazon.ApplicationSignals.Model.Tag[] Tag { get; set; } #endregion + #region Parameter RequestBasedSliMetricConfig_TotalRequestCountMetric + /// + /// + /// Use this structure to define the metric that you want to use as the "total requests" + /// number for a request-based SLO. This result will be divided by the "good request" + /// or "bad request" value defined in MonitoredRequestCountMetric. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_TotalRequestCountMetric")] + public Amazon.ApplicationSignals.Model.MetricDataQuery[] RequestBasedSliMetricConfig_TotalRequestCountMetric { get; set; } + #endregion + #region Parameter Goal_WarningThreshold /// /// @@ -398,20 +516,32 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter Name which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.SliConfig_ComparisonOperator = this.SliConfig_ComparisonOperator; - #if MODULAR - if (this.SliConfig_ComparisonOperator == null && ParameterWasBound(nameof(this.SliConfig_ComparisonOperator))) + context.RequestBasedSliConfig_ComparisonOperator = this.RequestBasedSliConfig_ComparisonOperator; + context.RequestBasedSliConfig_MetricThreshold = this.RequestBasedSliConfig_MetricThreshold; + if (this.RequestBasedSliMetricConfig_KeyAttribute != null) { - WriteWarning("You are passing $null as a value for parameter SliConfig_ComparisonOperator which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + context.RequestBasedSliMetricConfig_KeyAttribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.RequestBasedSliMetricConfig_KeyAttribute.Keys) + { + context.RequestBasedSliMetricConfig_KeyAttribute.Add((String)hashKey, (System.String)(this.RequestBasedSliMetricConfig_KeyAttribute[hashKey])); + } } - #endif - context.SliConfig_MetricThreshold = this.SliConfig_MetricThreshold; - #if MODULAR - if (this.SliConfig_MetricThreshold == null && ParameterWasBound(nameof(this.SliConfig_MetricThreshold))) + context.RequestBasedSliMetricConfig_MetricType = this.RequestBasedSliMetricConfig_MetricType; + if (this.MonitoredRequestCountMetric_BadCountMetric != null) { - WriteWarning("You are passing $null as a value for parameter SliConfig_MetricThreshold which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + context.MonitoredRequestCountMetric_BadCountMetric = new List(this.MonitoredRequestCountMetric_BadCountMetric); } - #endif + if (this.MonitoredRequestCountMetric_GoodCountMetric != null) + { + context.MonitoredRequestCountMetric_GoodCountMetric = new List(this.MonitoredRequestCountMetric_GoodCountMetric); + } + context.RequestBasedSliMetricConfig_OperationName = this.RequestBasedSliMetricConfig_OperationName; + if (this.RequestBasedSliMetricConfig_TotalRequestCountMetric != null) + { + context.RequestBasedSliMetricConfig_TotalRequestCountMetric = new List(this.RequestBasedSliMetricConfig_TotalRequestCountMetric); + } + context.SliConfig_ComparisonOperator = this.SliConfig_ComparisonOperator; + context.SliConfig_MetricThreshold = this.SliConfig_MetricThreshold; if (this.SliMetricConfig_KeyAttribute != null) { context.SliMetricConfig_KeyAttribute = new Dictionary(StringComparer.Ordinal); @@ -581,6 +711,125 @@ public object Execute(ExecutorContext context) request.Name = cmdletContext.Name; } + // populate RequestBasedSliConfig + var requestRequestBasedSliConfigIsNull = true; + request.RequestBasedSliConfig = new Amazon.ApplicationSignals.Model.RequestBasedServiceLevelIndicatorConfig(); + Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator = null; + if (cmdletContext.RequestBasedSliConfig_ComparisonOperator != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator = cmdletContext.RequestBasedSliConfig_ComparisonOperator; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator != null) + { + request.RequestBasedSliConfig.ComparisonOperator = requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator; + requestRequestBasedSliConfigIsNull = false; + } + System.Double? requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold = null; + if (cmdletContext.RequestBasedSliConfig_MetricThreshold != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold = cmdletContext.RequestBasedSliConfig_MetricThreshold.Value; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold != null) + { + request.RequestBasedSliConfig.MetricThreshold = requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold.Value; + requestRequestBasedSliConfigIsNull = false; + } + Amazon.ApplicationSignals.Model.RequestBasedServiceLevelIndicatorMetricConfig requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig = null; + + // populate RequestBasedSliMetricConfig + var requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = true; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig = new Amazon.ApplicationSignals.Model.RequestBasedServiceLevelIndicatorMetricConfig(); + Dictionary requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute = null; + if (cmdletContext.RequestBasedSliMetricConfig_KeyAttribute != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute = cmdletContext.RequestBasedSliMetricConfig_KeyAttribute; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.KeyAttributes = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType = null; + if (cmdletContext.RequestBasedSliMetricConfig_MetricType != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType = cmdletContext.RequestBasedSliMetricConfig_MetricType; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.MetricType = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + System.String requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName = null; + if (cmdletContext.RequestBasedSliMetricConfig_OperationName != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName = cmdletContext.RequestBasedSliMetricConfig_OperationName; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.OperationName = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + List requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric = null; + if (cmdletContext.RequestBasedSliMetricConfig_TotalRequestCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric = cmdletContext.RequestBasedSliMetricConfig_TotalRequestCountMetric; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.TotalRequestCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + Amazon.ApplicationSignals.Model.MonitoredRequestCountMetricDataQueries requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric = null; + + // populate MonitoredRequestCountMetric + var requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull = true; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric = new Amazon.ApplicationSignals.Model.MonitoredRequestCountMetricDataQueries(); + List requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric = null; + if (cmdletContext.MonitoredRequestCountMetric_BadCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric = cmdletContext.MonitoredRequestCountMetric_BadCountMetric; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric.BadCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull = false; + } + List requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric = null; + if (cmdletContext.MonitoredRequestCountMetric_GoodCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric = cmdletContext.MonitoredRequestCountMetric_GoodCountMetric; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric.GoodCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull = false; + } + // determine if requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric should be set to null + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric = null; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.MonitoredRequestCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + // determine if requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig should be set to null + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig = null; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig != null) + { + request.RequestBasedSliConfig.RequestBasedSliMetricConfig = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig; + requestRequestBasedSliConfigIsNull = false; + } + // determine if request.RequestBasedSliConfig should be set to null + if (requestRequestBasedSliConfigIsNull) + { + request.RequestBasedSliConfig = null; + } + // populate SliConfig var requestSliConfigIsNull = true; request.SliConfig = new Amazon.ApplicationSignals.Model.ServiceLevelIndicatorConfig(); @@ -758,6 +1007,14 @@ internal partial class CmdletContext : ExecutorContext public Amazon.ApplicationSignals.DurationUnit RollingInterval_DurationUnit { get; set; } public System.Double? Goal_WarningThreshold { get; set; } public System.String Name { get; set; } + public Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator RequestBasedSliConfig_ComparisonOperator { get; set; } + public System.Double? RequestBasedSliConfig_MetricThreshold { get; set; } + public Dictionary RequestBasedSliMetricConfig_KeyAttribute { get; set; } + public Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType RequestBasedSliMetricConfig_MetricType { get; set; } + public List MonitoredRequestCountMetric_BadCountMetric { get; set; } + public List MonitoredRequestCountMetric_GoodCountMetric { get; set; } + public System.String RequestBasedSliMetricConfig_OperationName { get; set; } + public List RequestBasedSliMetricConfig_TotalRequestCountMetric { get; set; } public Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator SliConfig_ComparisonOperator { get; set; } public System.Double? SliConfig_MetricThreshold { get; set; } public Dictionary SliMetricConfig_KeyAttribute { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Update-CWASServiceLevelObjective-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Update-CWASServiceLevelObjective-Cmdlet.cs index 6cab523252..8709180475 100644 --- a/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Update-CWASServiceLevelObjective-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ApplicationSignals/Basic/Update-CWASServiceLevelObjective-Cmdlet.cs @@ -29,7 +29,13 @@ namespace Amazon.PowerShell.Cmdlets.CWAS { /// /// Updates an existing service level objective (SLO). If you omit parameters, the previous - /// values of those parameters are retained. + /// values of those parameters are retained. + /// + /// + /// + /// You cannot change from a period-based SLO to a request-based SLO, or change from a + /// request-based SLO to a period-based SLO. + /// /// [Cmdlet("Update", "CWASServiceLevelObjective", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.ApplicationSignals.Model.ServiceLevelObjective")] @@ -46,16 +52,41 @@ public partial class UpdateCWASServiceLevelObjectiveCmdlet : AmazonApplicationSi #region Parameter Goal_AttainmentGoal /// /// - /// The threshold that determines if the goal is being met. An attainment goal - /// is the ratio of good periods that meet the threshold requirements to the total periods - /// within the interval. For example, an attainment goal of 99.9% means that within your - /// interval, you are targeting 99.9% of the periods to be in healthy state.If you omit this parameter, 99 is used to represent 99% as the attainment goal. + /// The threshold that determines if the goal is being met.If this is a period-based SLO, the attainment goal is the percentage of good periods + /// that meet the threshold requirements to the total periods within the interval. For + /// example, an attainment goal of 99.9% means that within your interval, you are targeting + /// 99.9% of the periods to be in healthy state.If this is a request-based SLO, the attainment goal is the percentage of requests + /// that must be successful to meet the attainment goal.If you omit this parameter, 99 is used to represent 99% as the attainment goal. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public System.Double? Goal_AttainmentGoal { get; set; } #endregion + #region Parameter MonitoredRequestCountMetric_BadCountMetric + /// + /// + /// If you want to count "bad requests" to determine the percentage of successful requests + /// for this request-based SLO, specify the metric to use as "bad requests" in this structure. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_BadCountMetric")] + public Amazon.ApplicationSignals.Model.MetricDataQuery[] MonitoredRequestCountMetric_BadCountMetric { get; set; } + #endregion + + #region Parameter RequestBasedSliConfig_ComparisonOperator + /// + /// + /// The arithmetic operation to use when comparing the specified metric to the threshold. + /// This parameter is required if this SLO is tracking the Latency metric. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator")] + public Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator RequestBasedSliConfig_ComparisonOperator { get; set; } + #endregion + #region Parameter SliConfig_ComparisonOperator /// /// @@ -126,6 +157,18 @@ public partial class UpdateCWASServiceLevelObjectiveCmdlet : AmazonApplicationSi public Amazon.ApplicationSignals.DurationUnit RollingInterval_DurationUnit { get; set; } #endregion + #region Parameter MonitoredRequestCountMetric_GoodCountMetric + /// + /// + /// If you want to count "good requests" to determine the percentage of successful requests + /// for this request-based SLO, specify the metric to use as "good requests" in this structure. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_GoodCountMetric")] + public Amazon.ApplicationSignals.Model.MetricDataQuery[] MonitoredRequestCountMetric_GoodCountMetric { get; set; } + #endregion + #region Parameter Id /// /// @@ -144,6 +187,23 @@ public partial class UpdateCWASServiceLevelObjectiveCmdlet : AmazonApplicationSi public System.String Id { get; set; } #endregion + #region Parameter RequestBasedSliMetricConfig_KeyAttribute + /// + /// + /// If this SLO is related to a metric collected by Application Signals, you must use + /// this field to specify which service the SLO metric is related to. To do so, you must + /// specify at least the Type, Name, and Environment attributes.This is a string-to-string map. It can include the following fields.
    • Type designates the type of object this is.
    • ResourceType specifies the type of the resource. This field is used only when + /// the value of the Type field is Resource or AWS::Resource.
    • Name specifies the name of the object. This is used only if the value of the + /// Type field is Service, RemoteService, or AWS::Service.
    • Identifier identifies the resource objects of this resource. This is used + /// only if the value of the Type field is Resource or AWS::Resource.
    • Environment specifies the location where this object is hosted, or what it + /// belongs to.
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_KeyAttributes")] + public System.Collections.Hashtable RequestBasedSliMetricConfig_KeyAttribute { get; set; } + #endregion + #region Parameter SliMetricConfig_KeyAttribute /// /// @@ -173,16 +233,43 @@ public partial class UpdateCWASServiceLevelObjectiveCmdlet : AmazonApplicationSi public Amazon.ApplicationSignals.Model.MetricDataQuery[] SliMetricConfig_MetricDataQuery { get; set; } #endregion + #region Parameter RequestBasedSliConfig_MetricThreshold + /// + /// + /// The value that the SLI metric is compared to. This parameter is required if this SLO + /// is tracking the Latency metric. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Double? RequestBasedSliConfig_MetricThreshold { get; set; } + #endregion + #region Parameter SliConfig_MetricThreshold /// /// - /// The value that the SLI metric is compared to. + /// This parameter is used only when a request-based SLO tracks the Latency metric. + /// Specify the threshold value that the observed Latency metric values are to + /// be compared to. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public System.Double? SliConfig_MetricThreshold { get; set; } #endregion + #region Parameter RequestBasedSliMetricConfig_MetricType + /// + /// + /// If the SLO is to monitor either the LATENCY or AVAILABILITY metric that + /// Application Signals collects, use this field to specify which of those metrics is + /// used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_MetricType")] + [AWSConstantClassSource("Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType")] + public Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType RequestBasedSliMetricConfig_MetricType { get; set; } + #endregion + #region Parameter SliMetricConfig_MetricType /// /// @@ -197,6 +284,18 @@ public partial class UpdateCWASServiceLevelObjectiveCmdlet : AmazonApplicationSi public Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType SliMetricConfig_MetricType { get; set; } #endregion + #region Parameter RequestBasedSliMetricConfig_OperationName + /// + /// + /// If the SLO is to monitor a specific operation of the service, use this field to specify + /// the name of that operation. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_OperationName")] + public System.String RequestBasedSliMetricConfig_OperationName { get; set; } + #endregion + #region Parameter SliMetricConfig_OperationName /// /// @@ -250,6 +349,19 @@ public partial class UpdateCWASServiceLevelObjectiveCmdlet : AmazonApplicationSi public System.String SliMetricConfig_Statistic { get; set; } #endregion + #region Parameter RequestBasedSliMetricConfig_TotalRequestCountMetric + /// + /// + /// Use this structure to define the metric that you want to use as the "total requests" + /// number for a request-based SLO. This result will be divided by the "good request" + /// or "bad request" value defined in MonitoredRequestCountMetric. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RequestBasedSliConfig_RequestBasedSliMetricConfig_TotalRequestCountMetric")] + public Amazon.ApplicationSignals.Model.MetricDataQuery[] RequestBasedSliMetricConfig_TotalRequestCountMetric { get; set; } + #endregion + #region Parameter Goal_WarningThreshold /// /// @@ -338,6 +450,30 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter Id which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.RequestBasedSliConfig_ComparisonOperator = this.RequestBasedSliConfig_ComparisonOperator; + context.RequestBasedSliConfig_MetricThreshold = this.RequestBasedSliConfig_MetricThreshold; + if (this.RequestBasedSliMetricConfig_KeyAttribute != null) + { + context.RequestBasedSliMetricConfig_KeyAttribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.RequestBasedSliMetricConfig_KeyAttribute.Keys) + { + context.RequestBasedSliMetricConfig_KeyAttribute.Add((String)hashKey, (System.String)(this.RequestBasedSliMetricConfig_KeyAttribute[hashKey])); + } + } + context.RequestBasedSliMetricConfig_MetricType = this.RequestBasedSliMetricConfig_MetricType; + if (this.MonitoredRequestCountMetric_BadCountMetric != null) + { + context.MonitoredRequestCountMetric_BadCountMetric = new List(this.MonitoredRequestCountMetric_BadCountMetric); + } + if (this.MonitoredRequestCountMetric_GoodCountMetric != null) + { + context.MonitoredRequestCountMetric_GoodCountMetric = new List(this.MonitoredRequestCountMetric_GoodCountMetric); + } + context.RequestBasedSliMetricConfig_OperationName = this.RequestBasedSliMetricConfig_OperationName; + if (this.RequestBasedSliMetricConfig_TotalRequestCountMetric != null) + { + context.RequestBasedSliMetricConfig_TotalRequestCountMetric = new List(this.RequestBasedSliMetricConfig_TotalRequestCountMetric); + } context.SliConfig_ComparisonOperator = this.SliConfig_ComparisonOperator; context.SliConfig_MetricThreshold = this.SliConfig_MetricThreshold; if (this.SliMetricConfig_KeyAttribute != null) @@ -505,6 +641,125 @@ public object Execute(ExecutorContext context) request.Id = cmdletContext.Id; } + // populate RequestBasedSliConfig + var requestRequestBasedSliConfigIsNull = true; + request.RequestBasedSliConfig = new Amazon.ApplicationSignals.Model.RequestBasedServiceLevelIndicatorConfig(); + Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator = null; + if (cmdletContext.RequestBasedSliConfig_ComparisonOperator != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator = cmdletContext.RequestBasedSliConfig_ComparisonOperator; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator != null) + { + request.RequestBasedSliConfig.ComparisonOperator = requestRequestBasedSliConfig_requestBasedSliConfig_ComparisonOperator; + requestRequestBasedSliConfigIsNull = false; + } + System.Double? requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold = null; + if (cmdletContext.RequestBasedSliConfig_MetricThreshold != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold = cmdletContext.RequestBasedSliConfig_MetricThreshold.Value; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold != null) + { + request.RequestBasedSliConfig.MetricThreshold = requestRequestBasedSliConfig_requestBasedSliConfig_MetricThreshold.Value; + requestRequestBasedSliConfigIsNull = false; + } + Amazon.ApplicationSignals.Model.RequestBasedServiceLevelIndicatorMetricConfig requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig = null; + + // populate RequestBasedSliMetricConfig + var requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = true; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig = new Amazon.ApplicationSignals.Model.RequestBasedServiceLevelIndicatorMetricConfig(); + Dictionary requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute = null; + if (cmdletContext.RequestBasedSliMetricConfig_KeyAttribute != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute = cmdletContext.RequestBasedSliMetricConfig_KeyAttribute; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.KeyAttributes = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_KeyAttribute; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType = null; + if (cmdletContext.RequestBasedSliMetricConfig_MetricType != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType = cmdletContext.RequestBasedSliMetricConfig_MetricType; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.MetricType = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_MetricType; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + System.String requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName = null; + if (cmdletContext.RequestBasedSliMetricConfig_OperationName != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName = cmdletContext.RequestBasedSliMetricConfig_OperationName; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.OperationName = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_OperationName; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + List requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric = null; + if (cmdletContext.RequestBasedSliMetricConfig_TotalRequestCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric = cmdletContext.RequestBasedSliMetricConfig_TotalRequestCountMetric; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.TotalRequestCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliMetricConfig_TotalRequestCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + Amazon.ApplicationSignals.Model.MonitoredRequestCountMetricDataQueries requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric = null; + + // populate MonitoredRequestCountMetric + var requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull = true; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric = new Amazon.ApplicationSignals.Model.MonitoredRequestCountMetricDataQueries(); + List requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric = null; + if (cmdletContext.MonitoredRequestCountMetric_BadCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric = cmdletContext.MonitoredRequestCountMetric_BadCountMetric; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric.BadCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_BadCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull = false; + } + List requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric = null; + if (cmdletContext.MonitoredRequestCountMetric_GoodCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric = cmdletContext.MonitoredRequestCountMetric_GoodCountMetric; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric.GoodCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric_monitoredRequestCountMetric_GoodCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull = false; + } + // determine if requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric should be set to null + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetricIsNull) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric = null; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric != null) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig.MonitoredRequestCountMetric = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_requestBasedSliConfig_RequestBasedSliMetricConfig_MonitoredRequestCountMetric; + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull = false; + } + // determine if requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig should be set to null + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfigIsNull) + { + requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig = null; + } + if (requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig != null) + { + request.RequestBasedSliConfig.RequestBasedSliMetricConfig = requestRequestBasedSliConfig_requestBasedSliConfig_RequestBasedSliMetricConfig; + requestRequestBasedSliConfigIsNull = false; + } + // determine if request.RequestBasedSliConfig should be set to null + if (requestRequestBasedSliConfigIsNull) + { + request.RequestBasedSliConfig = null; + } + // populate SliConfig var requestSliConfigIsNull = true; request.SliConfig = new Amazon.ApplicationSignals.Model.ServiceLevelIndicatorConfig(); @@ -678,6 +933,14 @@ internal partial class CmdletContext : ExecutorContext public Amazon.ApplicationSignals.DurationUnit RollingInterval_DurationUnit { get; set; } public System.Double? Goal_WarningThreshold { get; set; } public System.String Id { get; set; } + public Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator RequestBasedSliConfig_ComparisonOperator { get; set; } + public System.Double? RequestBasedSliConfig_MetricThreshold { get; set; } + public Dictionary RequestBasedSliMetricConfig_KeyAttribute { get; set; } + public Amazon.ApplicationSignals.ServiceLevelIndicatorMetricType RequestBasedSliMetricConfig_MetricType { get; set; } + public List MonitoredRequestCountMetric_BadCountMetric { get; set; } + public List MonitoredRequestCountMetric_GoodCountMetric { get; set; } + public System.String RequestBasedSliMetricConfig_OperationName { get; set; } + public List RequestBasedSliMetricConfig_TotalRequestCountMetric { get; set; } public Amazon.ApplicationSignals.ServiceLevelIndicatorComparisonOperator SliConfig_ComparisonOperator { get; set; } public System.Double? SliConfig_MetricThreshold { get; set; } public Dictionary SliMetricConfig_KeyAttribute { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/Artifact/AmazonArtifactClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Artifact/AmazonArtifactClientCmdlet.cs index 588bffe8f6..1c2672d88a 100644 --- a/modules/AWSPowerShell/Cmdlets/Artifact/AmazonArtifactClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Artifact/AmazonArtifactClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonArtifact CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonArtifactConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Athena/AWS.Tools.Athena.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/Athena/AWS.Tools.Athena.Completers.psm1 index c9e1208390..048c9310ad 100644 --- a/modules/AWSPowerShell/Cmdlets/Athena/AWS.Tools.Athena.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/Athena/AWS.Tools.Athena.Completers.psm1 @@ -103,7 +103,7 @@ $ATH_Completers = { ($_ -eq "Update-ATHDataCatalog/Type") } { - $v = "GLUE","HIVE","LAMBDA" + $v = "FEDERATED","GLUE","HIVE","LAMBDA" break } diff --git a/modules/AWSPowerShell/Cmdlets/Athena/AmazonAthenaClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Athena/AmazonAthenaClientCmdlet.cs index 13e9b70dec..d2fab1a7a3 100644 --- a/modules/AWSPowerShell/Cmdlets/Athena/AmazonAthenaClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Athena/AmazonAthenaClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAthena CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAthenaConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Athena/Basic/New-ATHDataCatalog-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Athena/Basic/New-ATHDataCatalog-Cmdlet.cs index 03a655b622..d4e4fdf542 100644 --- a/modules/AWSPowerShell/Cmdlets/Athena/Basic/New-ATHDataCatalog-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Athena/Basic/New-ATHDataCatalog-Cmdlet.cs @@ -32,11 +32,10 @@ namespace Amazon.PowerShell.Cmdlets.ATH /// created are visible to all users of the same Amazon Web Services account. /// [Cmdlet("New", "ATHDataCatalog", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("None")] + [OutputType("Amazon.Athena.Model.CreateDataCatalogResponse")] [AWSCmdlet("Calls the Amazon Athena CreateDataCatalog API operation.", Operation = new[] {"CreateDataCatalog"}, SelectReturnType = typeof(Amazon.Athena.Model.CreateDataCatalogResponse))] - [AWSCmdletOutput("None or Amazon.Athena.Model.CreateDataCatalogResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.Athena.Model.CreateDataCatalogResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [AWSCmdletOutput("Amazon.Athena.Model.CreateDataCatalogResponse", + "This cmdlet returns an Amazon.Athena.Model.CreateDataCatalogResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] public partial class NewATHDataCatalogCmdlet : AmazonAthenaClientCmdlet, IExecutor { @@ -84,7 +83,11 @@ public partial class NewATHDataCatalogCmdlet : AmazonAthenaClientCmdlet, IExecut /// actual data, use the following syntax. Both parameters are required.metadata-function=lambda_arn, record-function=lambda_arn
  • If you have a composite Lambda function that processes both metadata and data, use /// the following syntax to specify your Lambda function.function=lambda_arn
  • The GLUE type takes a catalog ID parameter and is required. The catalog_id is the account ID of the Amazon Web Services account to which the Glue Data Catalog /// belongs.catalog-id=catalog_id
    • The GLUE data catalog type also applies to the default AwsDataCatalog - /// that already exists in your account, of which you can have only one and cannot modify.
  • + /// that already exists in your account, of which you can have only one and cannot modify.
  • The FEDERATED data catalog type uses one of the following parameters, but not + /// both. Use connection-arn for an existing Glue connection. Use connection-type + /// and connection-properties to specify the configuration setting for a new connection.
    • connection-arn:<glue_connection_arn_to_reuse>
    • lambda-role-arn (optional): The execution role to use for the Lambda function. + /// If not provided, one is created.
    • connection-type:MYSQL|REDSHIFT|...., connection-properties:"<json_string>"For <json_string>, use escaped JSON text, as in the following + /// example."{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"
  • /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -106,8 +109,10 @@ public partial class NewATHDataCatalogCmdlet : AmazonAthenaClientCmdlet, IExecut #region Parameter Type /// /// - /// The type of data catalog to create: LAMBDA for a federated catalog, HIVE - /// for an external hive metastore, or GLUE for an Glue Data Catalog. + /// The type of data catalog to create: LAMBDA for a federated catalog, GLUE + /// for an Glue Data Catalog, and HIVE for an external Apache Hive metastore. FEDERATED + /// is a federated catalog for which Athena creates the connection and the Lambda function + /// for you based on the parameters that you pass. /// /// #if !MODULAR @@ -123,8 +128,9 @@ public partial class NewATHDataCatalogCmdlet : AmazonAthenaClientCmdlet, IExecut #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.Athena.Model.CreateDataCatalogResponse). + /// Specifying the name of a property of type Amazon.Athena.Model.CreateDataCatalogResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -312,7 +318,7 @@ internal partial class CmdletContext : ExecutorContext public List Tag { get; set; } public Amazon.Athena.DataCatalogType Type { get; set; } public System.Func Select { get; set; } = - (response, cmdlet) => null; + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/Athena/Basic/Remove-ATHDataCatalog-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Athena/Basic/Remove-ATHDataCatalog-Cmdlet.cs index d884f4afa6..db35ce5a8c 100644 --- a/modules/AWSPowerShell/Cmdlets/Athena/Basic/Remove-ATHDataCatalog-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Athena/Basic/Remove-ATHDataCatalog-Cmdlet.cs @@ -31,11 +31,10 @@ namespace Amazon.PowerShell.Cmdlets.ATH /// Deletes a data catalog. ///
    [Cmdlet("Remove", "ATHDataCatalog", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] - [OutputType("None")] + [OutputType("Amazon.Athena.Model.DeleteDataCatalogResponse")] [AWSCmdlet("Calls the Amazon Athena DeleteDataCatalog API operation.", Operation = new[] {"DeleteDataCatalog"}, SelectReturnType = typeof(Amazon.Athena.Model.DeleteDataCatalogResponse))] - [AWSCmdletOutput("None or Amazon.Athena.Model.DeleteDataCatalogResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.Athena.Model.DeleteDataCatalogResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [AWSCmdletOutput("Amazon.Athena.Model.DeleteDataCatalogResponse", + "This cmdlet returns an Amazon.Athena.Model.DeleteDataCatalogResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] public partial class RemoveATHDataCatalogCmdlet : AmazonAthenaClientCmdlet, IExecutor { @@ -61,8 +60,9 @@ public partial class RemoveATHDataCatalogCmdlet : AmazonAthenaClientCmdlet, IExe #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.Athena.Model.DeleteDataCatalogResponse). + /// Specifying the name of a property of type Amazon.Athena.Model.DeleteDataCatalogResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -210,7 +210,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String Name { get; set; } public System.Func Select { get; set; } = - (response, cmdlet) => null; + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/AuditManager/AmazonAuditManagerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AuditManager/AmazonAuditManagerClientCmdlet.cs index 96042eac7b..dc63f5fb59 100644 --- a/modules/AWSPowerShell/Cmdlets/AuditManager/AmazonAuditManagerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AuditManager/AmazonAuditManagerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAuditManager CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAuditManagerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AugmentedAIRuntime/AmazonAugmentedAIRuntimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AugmentedAIRuntime/AmazonAugmentedAIRuntimeClientCmdlet.cs index 6e81020853..3f5f892d87 100644 --- a/modules/AWSPowerShell/Cmdlets/AugmentedAIRuntime/AmazonAugmentedAIRuntimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AugmentedAIRuntime/AmazonAugmentedAIRuntimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAugmentedAIRuntime CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAugmentedAIRuntimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AutoScaling/AmazonAutoScalingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AutoScaling/AmazonAutoScalingClientCmdlet.cs index 2172cf2e8f..796fba4e22 100644 --- a/modules/AWSPowerShell/Cmdlets/AutoScaling/AmazonAutoScalingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AutoScaling/AmazonAutoScalingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAutoScaling CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAutoScalingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/AutoScalingPlans/AmazonAutoScalingPlansClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/AutoScalingPlans/AmazonAutoScalingPlansClientCmdlet.cs index 8aa2102250..95683563ad 100644 --- a/modules/AWSPowerShell/Cmdlets/AutoScalingPlans/AmazonAutoScalingPlansClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AutoScalingPlans/AmazonAutoScalingPlansClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonAutoScalingPlans CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonAutoScalingPlansConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/B2bi/AmazonB2biClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/B2bi/AmazonB2biClientCmdlet.cs index d66633d301..f345509415 100644 --- a/modules/AWSPowerShell/Cmdlets/B2bi/AmazonB2biClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/B2bi/AmazonB2biClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonB2bi CreateClient(AWSCredentials credentials, RegionEndpoint re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonB2biConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/BCMDataExports/AmazonBCMDataExportsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/BCMDataExports/AmazonBCMDataExportsClientCmdlet.cs index b1b56ccffa..1820fc1db0 100644 --- a/modules/AWSPowerShell/Cmdlets/BCMDataExports/AmazonBCMDataExportsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BCMDataExports/AmazonBCMDataExportsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBCMDataExports CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBCMDataExportsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Backup/AmazonBackupClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/AmazonBackupClientCmdlet.cs index 916e958c2a..c5ee7fddad 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/AmazonBackupClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/AmazonBackupClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBackup CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBackupConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Add-BAKResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Add-BAKResourceTag-Cmdlet.cs index dde4a2159a..2fa3bcde1d 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Add-BAKResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Add-BAKResourceTag-Cmdlet.cs @@ -30,6 +30,12 @@ namespace Amazon.PowerShell.Cmdlets.BAK /// /// Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault /// identified by an Amazon Resource Name (ARN). + /// + /// + /// + /// This API is supported for recovery points for resource types including Aurora, Amazon + /// DocumentDB. Amazon EBS, Amazon FSx, Neptune, and Amazon RDS. + /// /// [Cmdlet("Add", "BAKResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] @@ -49,7 +55,10 @@ public partial class AddBAKResourceTagCmdlet : AmazonBackupClientCmdlet, IExecut /// /// /// An ARN that uniquely identifies a resource. The format of the ARN depends on the type - /// of the tagged resource. + /// of the tagged resource.ARNs that do not include backup are incompatible with tagging. TagResource + /// and UntagResource with invalid ARNs will result in an error. Acceptable ARN + /// content can include arn:aws:backup:us-east. Invalid ARN content may look like + /// arn:aws:ec2:us-east. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobList-Cmdlet.cs index 69f1293c73..7daff298cc 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobList-Cmdlet.cs @@ -61,8 +61,7 @@ public partial class GetBAKBackupJobListCmdlet : AmazonBackupClientCmdlet, IExec /// /// Returns only backup jobs that will be stored in the specified backup vault. Backup /// vaults are identified by names that are unique to the account used to create them - /// and the Amazon Web Services Region where they are created. They consist of lowercase - /// letters, numbers, and hyphens. + /// and the Amazon Web Services Region where they are created. ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -147,7 +146,8 @@ public partial class GetBAKBackupJobListCmdlet : AmazonBackupClientCmdlet, IExec #region Parameter ByResourceType /// /// - /// Returns only backup jobs for the specified resources:
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • Redshift for Amazon Redshift
    • RDS for Amazon Relational Database Service
    • SAP HANA on Amazon EC2 for SAP HANA databases
    • Storage Gateway for Storage Gateway
    • S3 for Amazon S3
    • Timestream for Amazon Timestream
    • VirtualMachine for virtual machines
    + /// Returns only backup jobs for the specified resources:
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • RDS for Amazon Relational Database Service
    • Redshift for Amazon Redshift
    • S3 for Amazon Simple Storage Service (Amazon S3)
    • SAP HANA on Amazon EC2 for SAP HANA databases on Amazon Elastic Compute Cloud + /// instances
    • Storage Gateway for Storage Gateway
    • Timestream for Amazon Timestream
    • VirtualMachine for VMware virtual machines
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobSummaryList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobSummaryList-Cmdlet.cs index dddb898d5f..d256403da3 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobSummaryList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupJobSummaryList-Cmdlet.cs @@ -65,7 +65,7 @@ public partial class GetBAKBackupJobSummaryListCmdlet : AmazonBackupClientCmdlet #region Parameter AggregationPeriod /// /// - /// This is the period that sets the boundaries for returned results.Acceptable values include
    • ONE_DAY for daily job count for the prior 14 days.
    • SEVEN_DAYS for the aggregated job count for the prior 7 days.
    • FOURTEEN_DAYS for aggregated job count for prior 14 days.
    + /// The period for the returned results.
    • ONE_DAY - The daily job count for the prior 14 days.
    • SEVEN_DAYS - The aggregated job count for the prior 7 days.
    • FOURTEEN_DAYS - The aggregated job count for prior 14 days.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -118,7 +118,7 @@ public partial class GetBAKBackupJobSummaryListCmdlet : AmazonBackupClientCmdlet #region Parameter MaxResult /// /// - /// This parameter sets the maximum number of items to be returned.The value is an integer. Range of accepted values is from 1 to 500. + /// The maximum number of items to be returned.The value is an integer. Range of accepted values is from 1 to 500. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanList-Cmdlet.cs index 80ee287ff6..c422744780 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanList-Cmdlet.cs @@ -28,9 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Returns a list of all active backup plans for an authenticated account. The list contains - /// information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion - /// dates, version IDs, plan names, and creator request IDs.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + /// Lists the active backup plans for the account.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    [Cmdlet("Get", "BAKBackupPlanList")] [OutputType("Amazon.Backup.Model.BackupPlansListMember")] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanTemplateList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanTemplateList-Cmdlet.cs index 7844ee139d..bb2c6f17af 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanTemplateList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupPlanTemplateList-Cmdlet.cs @@ -28,8 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Returns metadata of your saved backup plan templates, including the template ID, name, - /// and the creation and deletion dates.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + /// Lists the backup plan templates.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    [Cmdlet("Get", "BAKBackupPlanTemplateList")] [OutputType("Amazon.Backup.Model.BackupPlanTemplatesListMember")] @@ -46,7 +45,7 @@ public partial class GetBAKBackupPlanTemplateListCmdlet : AmazonBackupClientCmdl #region Parameter MaxResult /// /// - /// The maximum number of items to be returned. + /// The maximum number of items to return. /// /// ///
    Note: In AWSPowerShell and AWSPowerShell.NetCore this parameter is used to limit the total number of items returned by the cmdlet. diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVault-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVault-Cmdlet.cs index 31b10c0dca..202b3a806a 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVault-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVault-Cmdlet.cs @@ -44,7 +44,7 @@ public partial class GetBAKBackupVaultCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter BackupVaultAccountId /// /// - /// This is the account ID of the specified backup vault. + /// The account ID of the specified backup vault. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -56,7 +56,7 @@ public partial class GetBAKBackupVaultCmdlet : AmazonBackupClientCmdlet, IExecut /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultAccessPolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultAccessPolicy-Cmdlet.cs index 14f5d7c638..c054519a61 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultAccessPolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultAccessPolicy-Cmdlet.cs @@ -46,7 +46,7 @@ public partial class GetBAKBackupVaultAccessPolicyCmdlet : AmazonBackupClientCmd /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultNotification-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultNotification-Cmdlet.cs index 1fc59aa086..64958f8a1e 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultNotification-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKBackupVaultNotification-Cmdlet.cs @@ -46,7 +46,7 @@ public partial class GetBAKBackupVaultNotificationCmdlet : AmazonBackupClientCmd /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobList-Cmdlet.cs index 1f733d85a9..9727a1d903 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobList-Cmdlet.cs @@ -99,7 +99,7 @@ public partial class GetBAKCopyJobListCmdlet : AmazonBackupClientCmdlet, IExecut /// /// /// An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy - /// from; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + /// from; for example, arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault. /// /// /// @@ -145,7 +145,8 @@ public partial class GetBAKCopyJobListCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter ByResourceType /// /// - /// Returns only backup jobs for the specified resources:
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • Redshift for Amazon Redshift
    • RDS for Amazon Relational Database Service
    • SAP HANA on Amazon EC2 for SAP HANA databases
    • Storage Gateway for Storage Gateway
    • S3 for Amazon S3
    • Timestream for Amazon Timestream
    • VirtualMachine for virtual machines
    + /// Returns only backup jobs for the specified resources:
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • RDS for Amazon Relational Database Service
    • Redshift for Amazon Redshift
    • S3 for Amazon Simple Storage Service (Amazon S3)
    • SAP HANA on Amazon EC2 for SAP HANA databases on Amazon Elastic Compute Cloud + /// instances
    • Storage Gateway for Storage Gateway
    • Timestream for Amazon Timestream
    • VirtualMachine for VMware virtual machines
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobSummaryList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobSummaryList-Cmdlet.cs index b11fe56871..608fe4212b 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobSummaryList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKCopyJobSummaryList-Cmdlet.cs @@ -65,7 +65,7 @@ public partial class GetBAKCopyJobSummaryListCmdlet : AmazonBackupClientCmdlet, #region Parameter AggregationPeriod /// /// - /// This is the period that sets the boundaries for returned results.
    • ONE_DAY for daily job count for the prior 14 days.
    • SEVEN_DAYS for the aggregated job count for the prior 7 days.
    • FOURTEEN_DAYS for aggregated job count for prior 14 days.
    + /// The period for the returned results.
    • ONE_DAY - The daily job count for the prior 14 days.
    • SEVEN_DAYS - The aggregated job count for the prior 7 days.
    • FOURTEEN_DAYS - The aggregated job count for prior 14 days.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKLegalHold-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKLegalHold-Cmdlet.cs index 67e7b6e97a..e8597db215 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKLegalHold-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKLegalHold-Cmdlet.cs @@ -45,8 +45,7 @@ public partial class GetBAKLegalHoldCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter LegalHoldId /// /// - /// This is the ID required to use GetLegalHold. This unique ID is associated with - /// a specific legal hold. + /// The ID of the legal hold. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKProtectedResourcesByBackupVaultList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKProtectedResourcesByBackupVaultList-Cmdlet.cs index ebfde79785..80800439db 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKProtectedResourcesByBackupVaultList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKProtectedResourcesByBackupVaultList-Cmdlet.cs @@ -45,8 +45,8 @@ public partial class GetBAKProtectedResourcesByBackupVaultListCmdlet : AmazonBac #region Parameter BackupVaultAccountId /// /// - /// This is the list of protected resources by backup vault within the vault(s) you specify - /// by account ID. + /// The list of protected resources by backup vault within the vault(s) you specify by + /// account ID. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -56,8 +56,8 @@ public partial class GetBAKProtectedResourcesByBackupVaultListCmdlet : AmazonBac #region Parameter BackupVaultName /// /// - /// This is the list of protected resources by backup vault within the vault(s) you specify - /// by name. + /// The list of protected resources by backup vault within the vault(s) you specify by + /// name. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPoint-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPoint-Cmdlet.cs index 355d422643..03294a16cd 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPoint-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPoint-Cmdlet.cs @@ -45,7 +45,7 @@ public partial class GetBAKRecoveryPointCmdlet : AmazonBackupClientCmdlet, IExec #region Parameter BackupVaultAccountId /// /// - /// This is the account ID of the specified backup vault. + /// The account ID of the specified backup vault. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -57,7 +57,7 @@ public partial class GetBAKRecoveryPointCmdlet : AmazonBackupClientCmdlet, IExec /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointRestoreMetadata-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointRestoreMetadata-Cmdlet.cs index 1d62b247fa..15f6aa10c4 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointRestoreMetadata-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointRestoreMetadata-Cmdlet.cs @@ -46,7 +46,7 @@ public partial class GetBAKRecoveryPointRestoreMetadataCmdlet : AmazonBackupClie #region Parameter BackupVaultAccountId /// /// - /// This is the account ID of the specified backup vault. + /// The account ID of the specified backup vault. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -58,7 +58,7 @@ public partial class GetBAKRecoveryPointRestoreMetadataCmdlet : AmazonBackupClie /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByBackupVaultList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByBackupVaultList-Cmdlet.cs index 65aefe1d98..f00b465963 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByBackupVaultList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByBackupVaultList-Cmdlet.cs @@ -57,7 +57,7 @@ public partial class GetBAKRecoveryPointsByBackupVaultListCmdlet : AmazonBackupC /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens.Backup vault name might not be available when a supported service creates the backup. + /// Region where they are created.Backup vault name might not be available when a supported service creates the backup. ///
    ///
    #if !MODULAR @@ -126,7 +126,8 @@ public partial class GetBAKRecoveryPointsByBackupVaultListCmdlet : AmazonBackupC #region Parameter ByResourceType /// /// - /// Returns only recovery points that match the specified resource type(s):
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • Redshift for Amazon Redshift
    • RDS for Amazon Relational Database Service
    • SAP HANA on Amazon EC2 for SAP HANA databases
    • Storage Gateway for Storage Gateway
    • S3 for Amazon S3
    • Timestream for Amazon Timestream
    • VirtualMachine for virtual machines
    + /// Returns only recovery points that match the specified resource type(s):
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • RDS for Amazon Relational Database Service
    • Redshift for Amazon Redshift
    • S3 for Amazon Simple Storage Service (Amazon S3)
    • SAP HANA on Amazon EC2 for SAP HANA databases on Amazon Elastic Compute Cloud + /// instances
    • Storage Gateway for Storage Gateway
    • Timestream for Amazon Timestream
    • VirtualMachine for VMware virtual machines
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByLegalHoldList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByLegalHoldList-Cmdlet.cs index 92b7940051..911f50a735 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByLegalHoldList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByLegalHoldList-Cmdlet.cs @@ -46,7 +46,7 @@ public partial class GetBAKRecoveryPointsByLegalHoldListCmdlet : AmazonBackupCli #region Parameter LegalHoldId /// /// - /// This is the ID of the legal hold. + /// The ID of the legal hold. /// /// #if !MODULAR @@ -63,7 +63,7 @@ public partial class GetBAKRecoveryPointsByLegalHoldListCmdlet : AmazonBackupCli #region Parameter MaxResult /// /// - /// This is the maximum number of resource list items to be returned. + /// The maximum number of resource list items to be returned. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -74,10 +74,10 @@ public partial class GetBAKRecoveryPointsByLegalHoldListCmdlet : AmazonBackupCli #region Parameter NextToken /// /// - /// This is the next item following a partial list of returned resources. For example, - /// if a request is made to return MaxResults number of resources, NextToken - /// allows you to return more items in your list starting at the location pointed to by - /// the next token. + /// The next item following a partial list of returned resources. For example, if a request + /// is made to return MaxResults number of resources, NextToken allows you + /// to return more items in your list starting at the location pointed to by the next + /// token. /// /// ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByResourceList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByResourceList-Cmdlet.cs index 30622e3c2b..cdac2d43a1 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByResourceList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRecoveryPointsByResourceList-Cmdlet.cs @@ -28,8 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Returns detailed information about all the recovery points of the type specified by - /// a resource Amazon Resource Name (ARN). + /// The information about the recovery points of the type specified by a resource Amazon + /// Resource Name (ARN). /// /// /// For Amazon EFS and Amazon EC2, this action only lists recovery points created by Backup. diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKResourceTag-Cmdlet.cs index 2290ae6fab..c86145fc64 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKResourceTag-Cmdlet.cs @@ -28,15 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Returns a list of key-value pairs assigned to a target recovery point, backup plan, - /// or backup vault. - /// - /// - /// ListTags only works for resource types that support full Backup management - /// of their backups. Those resource types are listed in the "Full Backup management" - /// section of the - /// Feature availability by resource table. - ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + /// Returns the tags assigned to the resource, such as a target recovery point, backup + /// plan, or backup vault.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    [Cmdlet("Get", "BAKResourceTag")] [OutputType("System.String")] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobList-Cmdlet.cs index 2c55844cb0..cc28eb2c42 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobList-Cmdlet.cs @@ -99,7 +99,8 @@ public partial class GetBAKRestoreJobListCmdlet : AmazonBackupClientCmdlet, IExe #region Parameter ByResourceType /// /// - /// Include this parameter to return only restore jobs for the specified resources:
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • Redshift for Amazon Redshift
    • RDS for Amazon Relational Database Service
    • SAP HANA on Amazon EC2 for SAP HANA databases
    • Storage Gateway for Storage Gateway
    • S3 for Amazon S3
    • Timestream for Amazon Timestream
    • VirtualMachine for virtual machines
    + /// Include this parameter to return only restore jobs for the specified resources:
    • Aurora for Amazon Aurora
    • CloudFormation for CloudFormation
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • RDS for Amazon Relational Database Service
    • Redshift for Amazon Redshift
    • S3 for Amazon Simple Storage Service (Amazon S3)
    • SAP HANA on Amazon EC2 for SAP HANA databases on Amazon Elastic Compute Cloud + /// instances
    • Storage Gateway for Storage Gateway
    • Timestream for Amazon Timestream
    • VirtualMachine for VMware virtual machines
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobSummaryList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobSummaryList-Cmdlet.cs index 823b5860c3..6255df1097 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobSummaryList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreJobSummaryList-Cmdlet.cs @@ -65,7 +65,7 @@ public partial class GetBAKRestoreJobSummaryListCmdlet : AmazonBackupClientCmdle #region Parameter AggregationPeriod /// /// - /// This is the period that sets the boundaries for returned results.Acceptable values include
    • ONE_DAY for daily job count for the prior 14 days.
    • SEVEN_DAYS for the aggregated job count for the prior 7 days.
    • FOURTEEN_DAYS for aggregated job count for prior 14 days.
    + /// The period for the returned results.
    • ONE_DAY - The daily job count for the prior 14 days.
    • SEVEN_DAYS - The aggregated job count for the prior 7 days.
    • FOURTEEN_DAYS - The aggregated job count for prior 14 days.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreTestingInferredMetadata-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreTestingInferredMetadata-Cmdlet.cs index c35079c6be..0b8857176e 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreTestingInferredMetadata-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Get-BAKRestoreTestingInferredMetadata-Cmdlet.cs @@ -47,7 +47,7 @@ public partial class GetBAKRestoreTestingInferredMetadataCmdlet : AmazonBackupCl #region Parameter BackupVaultAccountId /// /// - /// This is the account ID of the specified backup vault. + /// The account ID of the specified backup vault. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Move-BAKRecoveryPoint-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Move-BAKRecoveryPoint-Cmdlet.cs index f7e4c8f462..d3f9c6fa9f 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Move-BAKRecoveryPoint-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Move-BAKRecoveryPoint-Cmdlet.cs @@ -46,10 +46,9 @@ public partial class MoveBAKRecoveryPointCmdlet : AmazonBackupClientCmdlet, IExe #region Parameter BackupVaultName /// /// - /// This is the name of a logical container where the child (nested) recovery point is - /// stored. Backup vaults are identified by names that are unique to the account used - /// to create them and the Amazon Web Services Region where they are created. They consist - /// of lowercase letters, numbers, and hyphens. + /// The name of a logical container where the child (nested) recovery point is stored. + /// Backup vaults are identified by names that are unique to the account used to create + /// them and the Amazon Web Services Region where they are created. /// /// #if !MODULAR @@ -66,8 +65,8 @@ public partial class MoveBAKRecoveryPointCmdlet : AmazonBackupClientCmdlet, IExe #region Parameter RecoveryPointArn /// /// - /// This is the Amazon Resource Name (ARN) that uniquely identifies the child (nested) - /// recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. + /// The Amazon Resource Name (ARN) that uniquely identifies the child (nested) recovery + /// point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupPlan-Cmdlet.cs index 4de8638610..7b8b86225c 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupPlan-Cmdlet.cs @@ -83,9 +83,7 @@ public partial class NewBAKBackupPlanCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter BackupPlanTag /// /// - /// To help organize your resources, you can assign your own metadata to the resources - /// that you create. Each tag is a key-value pair. The specified tags are assigned to - /// all backups created with this plan. + /// The tags to assign to the backup plan. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupSelection-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupSelection-Cmdlet.cs index 4f4a373e0c..16908aecd1 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupSelection-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupSelection-Cmdlet.cs @@ -46,7 +46,7 @@ public partial class NewBAKBackupSelectionCmdlet : AmazonBackupClientCmdlet, IEx #region Parameter BackupPlanId /// /// - /// Uniquely identifies the backup plan to be associated with the selection of resources. + /// The ID of the backup plan. /// /// #if !MODULAR @@ -92,11 +92,10 @@ public partial class NewBAKBackupSelectionCmdlet : AmazonBackupClientCmdlet, IEx #region Parameter BackupSelection_ListOfTag /// /// - /// A list of conditions that you define to assign resources to your backup plans using - /// tags. For example, "StringEquals": { "Key": "aws:ResourceTag/CreatedByCryo", "Value": - /// "true" },. Condition operators are case sensitive.ListOfTags differs from Conditions as follows:
    • When you specify more than one condition, you assign all resources that match AT LEAST - /// ONE condition (using OR logic).
    • ListOfTags only supports StringEquals. Conditions supports StringEquals, - /// StringLike, StringNotEquals, and StringNotLike.
    + /// The conditions that you define to assign resources to your backup plans using tags. + /// For example, "StringEquals": { "ConditionKey": "backup", "ConditionValue": "daily"}.ListOfTags supports only StringEquals. Condition operators are case + /// sensitive.If you specify multiple conditions, the resources much match any of the conditions + /// (OR logic). ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -107,8 +106,8 @@ public partial class NewBAKBackupSelectionCmdlet : AmazonBackupClientCmdlet, IEx #region Parameter BackupSelection_NotResource /// /// - /// A list of Amazon Resource Names (ARNs) to exclude from a backup plan. The maximum - /// number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.If you need to exclude many resources from a backup plan, consider a different resource + /// The Amazon Resource Names (ARNs) of the resources to exclude from a backup plan. The + /// maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.If you need to exclude many resources from a backup plan, consider a different resource /// selection strategy, such as assigning only one or a few resource types or refining /// your resource selection using tags. /// @@ -121,10 +120,10 @@ public partial class NewBAKBackupSelectionCmdlet : AmazonBackupClientCmdlet, IEx #region Parameter BackupSelection_Resource /// /// - /// A list of Amazon Resource Names (ARNs) to assign to a backup plan. The maximum number - /// of ARNs is 500 without wildcards, or 30 ARNs with wildcards.If you need to assign many resources to a backup plan, consider a different resource + /// The Amazon Resource Names (ARNs) of the resources to assign to a backup plan. The + /// maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.If you need to assign many resources to a backup plan, consider a different resource /// selection strategy, such as assigning all resources of a resource type or refining - /// your resource selection using tags. + /// your resource selection using tags.If you specify multiple ARNs, the resources much match any of the ARNs (OR logic). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupVault-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupVault-Cmdlet.cs index 554e778058..f4711a7f90 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupVault-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKBackupVault-Cmdlet.cs @@ -71,8 +71,7 @@ public partial class NewBAKBackupVaultCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter BackupVaultTag /// /// - /// Metadata that you can assign to help organize the resources that you create. Each - /// tag is a key-value pair. + /// The tags to assign to the backup vault. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKFramework-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKFramework-Cmdlet.cs index 1e6f45952a..6c85e5b4ac 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKFramework-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKFramework-Cmdlet.cs @@ -47,8 +47,8 @@ public partial class NewBAKFrameworkCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter FrameworkControl /// /// - /// A list of the controls that make up the framework. Each control in the list has a - /// name, input parameters, and scope. + /// The controls that make up the framework. Each control in the list has a name, input + /// parameters, and scope. /// /// #if !MODULAR @@ -95,8 +95,7 @@ public partial class NewBAKFrameworkCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter FrameworkTag /// /// - /// Metadata that you can assign to help organize the frameworks that you create. Each - /// tag is a key-value pair. + /// The tags to assign to the framework. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLegalHold-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLegalHold-Cmdlet.cs index 2df89459c8..d0ba773c10 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLegalHold-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLegalHold-Cmdlet.cs @@ -28,10 +28,10 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// This action creates a legal hold on a recovery point (backup). A legal hold is a restraint - /// on altering or deleting a backup until an authorized user cancels the legal hold. - /// Any actions to delete or disassociate a recovery point will fail with an error if - /// one or more active legal holds are on the recovery point. + /// Creates a legal hold on a recovery point (backup). A legal hold is a restraint on + /// altering or deleting a backup until an authorized user cancels the legal hold. Any + /// actions to delete or disassociate a recovery point will fail with an error if one + /// or more active legal holds are on the recovery point. /// [Cmdlet("New", "BAKLegalHold", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Backup.Model.CreateLegalHoldResponse")] @@ -49,7 +49,7 @@ public partial class NewBAKLegalHoldCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter Description /// /// - /// This is the string description of the legal hold. + /// The description of the legal hold. /// /// #if !MODULAR @@ -115,7 +115,7 @@ public partial class NewBAKLegalHoldCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter Title /// /// - /// This is the string title of the legal hold. + /// The title of the legal hold. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLogicallyAirGappedBackupVault-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLogicallyAirGappedBackupVault-Cmdlet.cs index 113870f111..c3af8975b6 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLogicallyAirGappedBackupVault-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKLogicallyAirGappedBackupVault-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// This request creates a logical container to where backups may be copied. + /// Creates a logical container to where backups may be copied. /// /// /// @@ -55,7 +55,9 @@ public partial class NewBAKLogicallyAirGappedBackupVaultCmdlet : AmazonBackupCli #region Parameter BackupVaultName /// /// - /// This is the name of the vault that is being created. + /// The name of a logical container where backups are stored. Logically air-gapped backup + /// vaults are identified by names that are unique to the account used to create them + /// and the Region where they are created. /// /// #if !MODULAR @@ -72,7 +74,7 @@ public partial class NewBAKLogicallyAirGappedBackupVaultCmdlet : AmazonBackupCli #region Parameter BackupVaultTag /// /// - /// These are the tags that will be included in the newly-created vault. + /// The tags to assign to the vault. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -83,7 +85,7 @@ public partial class NewBAKLogicallyAirGappedBackupVaultCmdlet : AmazonBackupCli #region Parameter CreatorRequestId /// /// - /// This is the ID of the creation request.This parameter is optional. If used, this parameter must contain 1 to 50 alphanumeric + /// The ID of the creation request.This parameter is optional. If used, this parameter must contain 1 to 50 alphanumeric /// or '-_.' characters. /// /// @@ -94,14 +96,7 @@ public partial class NewBAKLogicallyAirGappedBackupVaultCmdlet : AmazonBackupCli #region Parameter MaxRetentionDay /// /// - /// This is the setting that specifies the maximum retention period that the vault retains - /// its recovery points. If this parameter is not specified, Backup does not enforce a - /// maximum retention period on the recovery points in the vault (allowing indefinite - /// storage).If specified, any backup or copy job to the vault must have a lifecycle policy with - /// a retention period equal to or shorter than the maximum retention period. If the job - /// retention period is longer than that maximum retention period, then the vault fails - /// the backup or copy job, and you should either modify your lifecycle settings or use - /// a different vault. + /// The maximum retention period that the vault retains its recovery points. /// /// #if !MODULAR @@ -119,11 +114,7 @@ public partial class NewBAKLogicallyAirGappedBackupVaultCmdlet : AmazonBackupCli /// /// /// This setting specifies the minimum retention period that the vault retains its recovery - /// points. If this parameter is not specified, no minimum retention period is enforced.If specified, any backup or copy job to the vault must have a lifecycle policy with - /// a retention period equal to or longer than the minimum retention period. If a job - /// retention period is shorter than that minimum retention period, then the vault fails - /// the backup or copy job, and you should either modify your lifecycle settings or use - /// a different vault. + /// points.The minimum value accepted is 7 days. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKReportPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKReportPlan-Cmdlet.cs index e51b3359ef..f170609e2f 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKReportPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKReportPlan-Cmdlet.cs @@ -51,7 +51,7 @@ public partial class NewBAKReportPlanCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter ReportSetting_Account /// /// - /// These are the accounts to be included in the report. + /// These are the accounts to be included in the report.Use string value of ROOT to include all organizational units. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -62,8 +62,8 @@ public partial class NewBAKReportPlanCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter ReportDeliveryChannel_Format /// /// - /// A list of the format of your reports: CSV, JSON, or both. If not specified, - /// the default format is CSV. + /// The format of your reports: CSV, JSON, or both. If not specified, the + /// default format is CSV. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -119,7 +119,7 @@ public partial class NewBAKReportPlanCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter ReportSetting_Region /// /// - /// These are the Regions to be included in the report. + /// These are the Regions to be included in the report.Use the wildcard as the string value to include all Regions. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -159,8 +159,7 @@ public partial class NewBAKReportPlanCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter ReportPlanTag /// /// - /// Metadata that you can assign to help organize the report plans that you create. Each - /// tag is a key-value pair. + /// The tags to assign to the report plan. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingPlan-Cmdlet.cs index dd1019aba5..31695f4cd8 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingPlan-Cmdlet.cs @@ -28,13 +28,12 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// This is the first of two steps to create a restore testing plan; once this request - /// is successful, finish the procedure with request CreateRestoreTestingSelection. + /// Creates a restore testing plan. /// /// /// - /// You must include the parameter RestoreTestingPlan. You may optionally include CreatorRequestId - /// and Tags. + /// The first of two steps to create a restore testing plan. After this request is successful, + /// finish the procedure using CreateRestoreTestingSelection. /// /// [Cmdlet("New", "BAKRestoreTestingPlan", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -102,7 +101,10 @@ public partial class NewBAKRestoreTestingPlanCmdlet : AmazonBackupClientCmdlet, #region Parameter RecoveryPointSelection_RecoveryPointType /// /// - /// These are the types of recovery points. + /// These are the types of recovery points.Include SNAPSHOT to restore only snapshot recovery points; include CONTINUOUS + /// to restore continuous recovery points (point in time restore / PITR); use both to + /// restore either a snapshot or a continuous recovery point. The recovery point will + /// be determined by the value for Algorithm. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -184,9 +186,7 @@ public partial class NewBAKRestoreTestingPlanCmdlet : AmazonBackupClientCmdlet, #region Parameter Tag /// /// - /// Optional tags to include. A tag is a key-value pair you can use to manage, filter, - /// and search for your resources. Allowed characters include UTF-8 letters,numbers, spaces, - /// and the following characters: + - = . _ : /. + /// The tags to assign to the restore testing plan. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingSelection-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingSelection-Cmdlet.cs index e763eb9e61..0ed7d9ffec 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingSelection-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/New-BAKRestoreTestingSelection-Cmdlet.cs @@ -155,8 +155,8 @@ public partial class NewBAKRestoreTestingSelectionCmdlet : AmazonBackupClientCmd #region Parameter RestoreTestingSelection_RestoreTestingSelectionName /// /// - /// This is the unique name of the restore testing selection that belongs to the related - /// restore testing plan. + /// The unique name of the restore testing selection that belongs to the related restore + /// testing plan. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVault-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVault-Cmdlet.cs index 539894d5eb..744d4ad698 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVault-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVault-Cmdlet.cs @@ -48,7 +48,7 @@ public partial class RemoveBAKBackupVaultCmdlet : AmazonBackupClientCmdlet, IExe /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVaultNotification-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVaultNotification-Cmdlet.cs index 22d3c45e2b..2597c0c069 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVaultNotification-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKBackupVaultNotification-Cmdlet.cs @@ -47,7 +47,7 @@ public partial class RemoveBAKBackupVaultNotificationCmdlet : AmazonBackupClient /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Region where they - /// are created. They consist of lowercase letters, numbers, and hyphens. + /// are created. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKRecoveryPoint-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKRecoveryPoint-Cmdlet.cs index 5ad393fdd7..6dc426d852 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKRecoveryPoint-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKRecoveryPoint-Cmdlet.cs @@ -64,7 +64,7 @@ public partial class RemoveBAKRecoveryPointCmdlet : AmazonBackupClientCmdlet, IE /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKResourceTag-Cmdlet.cs index 4db3eca4da..d8256fbea6 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Remove-BAKResourceTag-Cmdlet.cs @@ -30,6 +30,12 @@ namespace Amazon.PowerShell.Cmdlets.BAK /// /// Removes a set of key-value pairs from a recovery point, backup plan, or backup vault /// identified by an Amazon Resource Name (ARN) + /// + /// + /// + /// This API is not supported for recovery points for resource types including Aurora, + /// Amazon DocumentDB. Amazon EBS, Amazon FSx, Neptune, and Amazon RDS. + /// /// [Cmdlet("Remove", "BAKResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -49,7 +55,10 @@ public partial class RemoveBAKResourceTagCmdlet : AmazonBackupClientCmdlet, IExe /// /// /// An ARN that uniquely identifies a resource. The format of the ARN depends on the type - /// of the tagged resource. + /// of the tagged resource.ARNs that do not include backup are incompatible with tagging. TagResource + /// and UntagResource with invalid ARNs will result in an error. Acceptable ARN + /// content can include arn:aws:backup:us-east. Invalid ARN content may look like + /// arn:aws:ec2:us-east. /// /// #if !MODULAR @@ -66,7 +75,7 @@ public partial class RemoveBAKResourceTagCmdlet : AmazonBackupClientCmdlet, IExe #region Parameter TagKeyList /// /// - /// A list of keys to identify which key-value tags to remove from a resource. + /// The keys to identify which key-value tags to remove from a resource. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKBackupJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKBackupJob-Cmdlet.cs index 2c42b46096..45eab9bd6a 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKBackupJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKBackupJob-Cmdlet.cs @@ -46,8 +46,8 @@ public partial class StartBAKBackupJobCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter BackupOption /// /// - /// Specifies the backup option for a selected resource. This option is only available - /// for Windows Volume Shadow Copy Service (VSS) backup jobs.Valid values: Set to "WindowsVSS":"enabled" to enable the WindowsVSS + /// The backup option for a selected resource. This option is only available for Windows + /// Volume Shadow Copy Service (VSS) backup jobs.Valid values: Set to "WindowsVSS":"enabled" to enable the WindowsVSS /// backup option and create a Windows VSS backup. Set to "WindowsVSS""disabled" /// to create a regular backup. The WindowsVSS option is not enabled by default. /// @@ -62,7 +62,7 @@ public partial class StartBAKBackupJobCmdlet : AmazonBackupClientCmdlet, IExecut /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. /// /// #if !MODULAR @@ -94,8 +94,8 @@ public partial class StartBAKBackupJobCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter Lifecycle_DeleteAfterDay /// /// - /// Specifies the number of days after creation that a recovery point is deleted. Must - /// be greater than 90 days plus MoveToColdStorageAfterDays. + /// The number of days after creation that a recovery point is deleted. This value must + /// be at least 90 days after the number of days specified in MoveToColdStorageAfterDays. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -136,8 +136,7 @@ public partial class StartBAKBackupJobCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter Lifecycle_MoveToColdStorageAfterDay /// /// - /// Specifies the number of days after creation that a recovery point is moved to cold - /// storage. + /// The number of days after creation that a recovery point is moved to cold storage. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -148,9 +147,8 @@ public partial class StartBAKBackupJobCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter Lifecycle_OptInToArchiveForSupportedResource /// /// - /// Optional Boolean. If this is true, this setting will instruct your backup plan to - /// transition supported resources to archive (cold) storage tier in accordance with your - /// lifecycle settings. + /// If the value is true, your backup plan transitions supported resources to archive + /// (cold) storage tier in accordance with your lifecycle settings. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -161,8 +159,7 @@ public partial class StartBAKBackupJobCmdlet : AmazonBackupClientCmdlet, IExecut #region Parameter RecoveryPointTag /// /// - /// To help organize your resources, you can assign your own metadata to the resources - /// that you create. Each tag is a key-value pair. + /// The tags to assign to the resources. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKCopyJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKCopyJob-Cmdlet.cs index 661c8a48b8..a432884e4e 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKCopyJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKCopyJob-Cmdlet.cs @@ -49,8 +49,8 @@ public partial class StartBAKCopyJobCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter Lifecycle_DeleteAfterDay /// /// - /// Specifies the number of days after creation that a recovery point is deleted. Must - /// be greater than 90 days plus MoveToColdStorageAfterDays. + /// The number of days after creation that a recovery point is deleted. This value must + /// be at least 90 days after the number of days specified in MoveToColdStorageAfterDays. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -62,7 +62,7 @@ public partial class StartBAKCopyJobCmdlet : AmazonBackupClientCmdlet, IExecutor /// /// /// An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault - /// to copy to; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. + /// to copy to; for example, arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault. /// /// #if !MODULAR @@ -108,8 +108,7 @@ public partial class StartBAKCopyJobCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter Lifecycle_MoveToColdStorageAfterDay /// /// - /// Specifies the number of days after creation that a recovery point is moved to cold - /// storage. + /// The number of days after creation that a recovery point is moved to cold storage. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -120,9 +119,8 @@ public partial class StartBAKCopyJobCmdlet : AmazonBackupClientCmdlet, IExecutor #region Parameter Lifecycle_OptInToArchiveForSupportedResource /// /// - /// Optional Boolean. If this is true, this setting will instruct your backup plan to - /// transition supported resources to archive (cold) storage tier in accordance with your - /// lifecycle settings. + /// If the value is true, your backup plan transitions supported resources to archive + /// (cold) storage tier in accordance with your lifecycle settings. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -154,8 +152,7 @@ public partial class StartBAKCopyJobCmdlet : AmazonBackupClientCmdlet, IExecutor /// /// The name of a logical source container where backups are stored. Backup vaults are /// identified by names that are unique to the account used to create them and the Amazon - /// Web Services Region where they are created. They consist of lowercase letters, numbers, - /// and hyphens. + /// Web Services Region where they are created. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKRestoreJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKRestoreJob-Cmdlet.cs index 4cf5502c7a..d5292af1ec 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKRestoreJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Start-BAKRestoreJob-Cmdlet.cs @@ -81,22 +81,26 @@ public partial class StartBAKRestoreJobCmdlet : AmazonBackupClientCmdlet, IExecu #region Parameter Metadata /// /// - /// A set of metadata key-value pairs. Contains information, such as a resource name, - /// required to restore a recovery point. You can get configuration metadata about a resource at the time it was backed up - /// by calling GetRecoveryPointRestoreMetadata. However, values in addition to - /// those provided by GetRecoveryPointRestoreMetadata might be required to restore - /// a resource. For example, you might need to provide a new resource name if the original - /// already exists.You need to specify specific metadata to restore an Amazon Elastic File System (Amazon - /// EFS) instance:
    • file-system-id: The ID of the Amazon EFS file system that is backed up by - /// Backup. Returned in GetRecoveryPointRestoreMetadata.
    • Encrypted: A Boolean value that, if true, specifies that the file system is - /// encrypted. If KmsKeyId is specified, Encrypted must be set to true.
    • KmsKeyId: Specifies the Amazon Web Services KMS key that is used to encrypt - /// the restored file system. You can specify a key from another Amazon Web Services account - /// provided that key it is properly shared with your account via Amazon Web Services - /// KMS.
    • PerformanceMode: Specifies the throughput mode of the file system.
    • CreationToken: A user-supplied value that ensures the uniqueness (idempotency) - /// of the request.
    • newFileSystem: A Boolean value that, if true, specifies that the recovery - /// point is restored to a new Amazon EFS file system.
    • ItemsToRestore: An array of one to five strings where each string is a file - /// path. Use ItemsToRestore to restore specific files or directories rather than - /// the entire file system. This parameter is optional. For example, "itemsToRestore":"[\"/my.test\"]".
    + /// A set of metadata key-value pairs.You can get configuration metadata about a resource at the time it was backed up by + /// calling GetRecoveryPointRestoreMetadata. However, values in addition to those + /// provided by GetRecoveryPointRestoreMetadata might be required to restore a + /// resource. For example, you might need to provide a new resource name if the original + /// already exists.For more information about the metadata for each resource, see the following: ///
    ///
    #if !MODULAR @@ -130,7 +134,7 @@ public partial class StartBAKRestoreJobCmdlet : AmazonBackupClientCmdlet, IExecu #region Parameter ResourceType /// /// - /// Starts a job to restore a recovery point for one of the following resources:
    • Aurora for Amazon Aurora
    • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
    • CloudFormation for CloudFormation
    • DynamoDB for Amazon DynamoDB
    • EBS for Amazon Elastic Block Store
    • EC2 for Amazon Elastic Compute Cloud
    • EFS for Amazon Elastic File System
    • FSx for Amazon FSx
    • Neptune for Amazon Neptune
    • RDS for Amazon Relational Database Service
    • Redshift for Amazon Redshift
    • Storage Gateway for Storage Gateway
    • S3 for Amazon S3
    • Timestream for Amazon Timestream
    • VirtualMachine for virtual machines
    + /// Starts a job to restore a recovery point for one of the following resources:
    • Aurora - Amazon Aurora
    • DocumentDB - Amazon DocumentDB
    • CloudFormation - CloudFormation
    • DynamoDB - Amazon DynamoDB
    • EBS - Amazon Elastic Block Store
    • EC2 - Amazon Elastic Compute Cloud
    • EFS - Amazon Elastic File System
    • FSx - Amazon FSx
    • Neptune - Amazon Neptune
    • RDS - Amazon Relational Database Service
    • Redshift - Amazon Redshift
    • Storage Gateway - Storage Gateway
    • S3 - Amazon Simple Storage Service
    • Timestream - Amazon Timestream
    • VirtualMachine - Virtual machines
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKBackupJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKBackupJob-Cmdlet.cs index f750e7a81a..47f882d907 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKBackupJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKBackupJob-Cmdlet.cs @@ -33,7 +33,7 @@ namespace Amazon.PowerShell.Cmdlets.BAK /// /// /// This action is not supported for the following services: Amazon FSx for Windows File - /// Server, Amazon FSx for Lustre, Amazon FSx for NetApp ONTAP , Amazon FSx for OpenZFS, + /// Server, Amazon FSx for Lustre, Amazon FSx for NetApp ONTAP, Amazon FSx for OpenZFS, /// Amazon DocumentDB (with MongoDB compatibility), Amazon RDS, Amazon Aurora, and Amazon /// Neptune. /// diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKLegalHold-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKLegalHold-Cmdlet.cs index 420a69586a..590f86a8a4 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKLegalHold-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Stop-BAKLegalHold-Cmdlet.cs @@ -28,8 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// This action removes the specified legal hold on a recovery point. This action can - /// only be performed by a user with sufficient permissions. + /// Removes the specified legal hold on a recovery point. This action can only be performed + /// by a user with sufficient permissions. /// [Cmdlet("Stop", "BAKLegalHold", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] @@ -46,7 +46,7 @@ public partial class StopBAKLegalHoldCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter CancelDescription /// /// - /// String describing the reason for removing the legal hold. + /// A string the describes the reason for removing the legal hold. /// /// #if !MODULAR @@ -63,7 +63,7 @@ public partial class StopBAKLegalHoldCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter LegalHoldId /// /// - /// Legal hold ID required to remove the specified legal hold on a recovery point. + /// The ID of the legal hold. /// /// #if !MODULAR @@ -80,8 +80,7 @@ public partial class StopBAKLegalHoldCmdlet : AmazonBackupClientCmdlet, IExecuto #region Parameter RetainRecordInDay /// /// - /// The integer amount in days specifying amount of days after this API operation to remove - /// legal hold. + /// The integer amount, in days, after which to remove legal hold. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKBackupPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKBackupPlan-Cmdlet.cs index c8bf1a2c9e..1386a774aa 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKBackupPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKBackupPlan-Cmdlet.cs @@ -28,8 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Updates an existing backup plan identified by its backupPlanId with the input - /// document in JSON format. The new version is uniquely identified by a VersionId. + /// Updates the specified backup plan. The new version is uniquely identified by its ID. /// [Cmdlet("Update", "BAKBackupPlan", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Backup.Model.UpdateBackupPlanResponse")] @@ -59,7 +58,7 @@ public partial class UpdateBAKBackupPlanCmdlet : AmazonBackupClientCmdlet, IExec #region Parameter BackupPlanId /// /// - /// Uniquely identifies a backup plan. + /// The ID of the backup plan. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKFramework-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKFramework-Cmdlet.cs index e0f41425ed..9785059702 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKFramework-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKFramework-Cmdlet.cs @@ -28,8 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Updates an existing framework identified by its FrameworkName with the input - /// document in JSON format. + /// Updates the specified framework. /// [Cmdlet("Update", "BAKFramework", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Backup.Model.UpdateFrameworkResponse")] @@ -45,8 +44,8 @@ public partial class UpdateBAKFrameworkCmdlet : AmazonBackupClientCmdlet, IExecu #region Parameter FrameworkControl /// /// - /// A list of the controls that make up the framework. Each control in the list has a - /// name, input parameters, and scope. + /// The controls that make up the framework. Each control in the list has a name, input + /// parameters, and scope. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRecoveryPointLifecycle-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRecoveryPointLifecycle-Cmdlet.cs index 19e0c9a363..204e03e64a 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRecoveryPointLifecycle-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRecoveryPointLifecycle-Cmdlet.cs @@ -36,16 +36,19 @@ namespace Amazon.PowerShell.Cmdlets.BAK /// when it expires. Backup transitions and expires backups automatically according to /// the lifecycle that you define. ///
    + /// Resource types that can transition to cold storage are listed in the Feature + /// availability by resource table. Backup ignores this expression for other resource + /// types. + /// /// Backups transitioned to cold storage must be stored in cold storage for a minimum /// of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition /// to cold after days” setting. The “transition to cold after days” setting cannot be /// changed after a backup has been transitioned to cold. - /// - /// Resource types that are able to be transitioned to cold storage are listed in the - /// "Lifecycle to cold storage" section of the - /// Feature availability by resource table. Backup ignores this expression for other - /// resource types. - /// + /// + /// If your lifecycle currently uses the parameters DeleteAfterDays and MoveToColdStorageAfterDays, + /// include these parameters and their values when you call this operation. Not including + /// them may result in your plan updating with null values. + /// /// This operation does not support continuous backups. /// ///
    @@ -65,7 +68,7 @@ public partial class UpdateBAKRecoveryPointLifecycleCmdlet : AmazonBackupClientC /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. /// ///
    #if !MODULAR @@ -82,8 +85,8 @@ public partial class UpdateBAKRecoveryPointLifecycleCmdlet : AmazonBackupClientC #region Parameter Lifecycle_DeleteAfterDay /// /// - /// Specifies the number of days after creation that a recovery point is deleted. Must - /// be greater than 90 days plus MoveToColdStorageAfterDays. + /// The number of days after creation that a recovery point is deleted. This value must + /// be at least 90 days after the number of days specified in MoveToColdStorageAfterDays. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -94,8 +97,7 @@ public partial class UpdateBAKRecoveryPointLifecycleCmdlet : AmazonBackupClientC #region Parameter Lifecycle_MoveToColdStorageAfterDay /// /// - /// Specifies the number of days after creation that a recovery point is moved to cold - /// storage. + /// The number of days after creation that a recovery point is moved to cold storage. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -106,9 +108,8 @@ public partial class UpdateBAKRecoveryPointLifecycleCmdlet : AmazonBackupClientC #region Parameter Lifecycle_OptInToArchiveForSupportedResource /// /// - /// Optional Boolean. If this is true, this setting will instruct your backup plan to - /// transition supported resources to archive (cold) storage tier in accordance with your - /// lifecycle settings. + /// If the value is true, your backup plan transitions supported resources to archive + /// (cold) storage tier in accordance with your lifecycle settings. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKReportPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKReportPlan-Cmdlet.cs index 293531b794..0e3290a790 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKReportPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKReportPlan-Cmdlet.cs @@ -28,8 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Updates an existing report plan identified by its ReportPlanName with the input - /// document in JSON format. + /// Updates the specified report plan. /// [Cmdlet("Update", "BAKReportPlan", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Backup.Model.UpdateReportPlanResponse")] @@ -45,7 +44,7 @@ public partial class UpdateBAKReportPlanCmdlet : AmazonBackupClientCmdlet, IExec #region Parameter ReportSetting_Account /// /// - /// These are the accounts to be included in the report. + /// These are the accounts to be included in the report.Use string value of ROOT to include all organizational units. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -56,8 +55,8 @@ public partial class UpdateBAKReportPlanCmdlet : AmazonBackupClientCmdlet, IExec #region Parameter ReportDeliveryChannel_Format /// /// - /// A list of the format of your reports: CSV, JSON, or both. If not specified, - /// the default format is CSV. + /// The format of your reports: CSV, JSON, or both. If not specified, the + /// default format is CSV. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -113,7 +112,7 @@ public partial class UpdateBAKReportPlanCmdlet : AmazonBackupClientCmdlet, IExec #region Parameter ReportSetting_Region /// /// - /// These are the Regions to be included in the report. + /// These are the Regions to be included in the report.Use the wildcard as the string value to include all Regions. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingPlan-Cmdlet.cs index 00fe09c93c..fb8938cac4 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingPlan-Cmdlet.cs @@ -86,7 +86,10 @@ public partial class UpdateBAKRestoreTestingPlanCmdlet : AmazonBackupClientCmdle #region Parameter RecoveryPointSelection_RecoveryPointType /// /// - /// These are the types of recovery points. + /// These are the types of recovery points.Include SNAPSHOT to restore only snapshot recovery points; include CONTINUOUS + /// to restore continuous recovery points (point in time restore / PITR); use both to + /// restore either a snapshot or a continuous recovery point. The recovery point will + /// be determined by the value for Algorithm. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -97,7 +100,7 @@ public partial class UpdateBAKRestoreTestingPlanCmdlet : AmazonBackupClientCmdle #region Parameter RestoreTestingPlanName /// /// - /// This is the restore testing plan name you wish to update. + /// The name of the restore testing plan name. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingSelection-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingSelection-Cmdlet.cs index 5b942625ad..bcf15d2e1a 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingSelection-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Update-BAKRestoreTestingSelection-Cmdlet.cs @@ -28,13 +28,14 @@ namespace Amazon.PowerShell.Cmdlets.BAK { /// - /// Most elements except the RestoreTestingSelectionName can be updated with this - /// request. + /// Updates the specified restore testing selection. /// /// - /// RestoreTestingSelection can use either protected resource ARNs or conditions, - /// but not both. That is, if your selection has ProtectedResourceArns, requesting - /// an update with the parameter ProtectedResourceConditions will be unsuccessful. + /// + /// Most elements except the RestoreTestingSelectionName can be updated with this + /// request. + /// + /// You can use either protected resource ARNs or conditions, but not both. /// /// [Cmdlet("Update", "BAKRestoreTestingSelection", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -107,8 +108,8 @@ public partial class UpdateBAKRestoreTestingSelectionCmdlet : AmazonBackupClient #region Parameter RestoreTestingSelectionName /// /// - /// This is the required restore testing selection name of the restore testing selection - /// you wish to update. + /// The required restore testing selection name of the restore testing selection you wish + /// to update. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultAccessPolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultAccessPolicy-Cmdlet.cs index 2209ad56db..f8e3233407 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultAccessPolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultAccessPolicy-Cmdlet.cs @@ -48,7 +48,7 @@ public partial class WriteBAKBackupVaultAccessPolicyCmdlet : AmazonBackupClientC /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultLockConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultLockConfiguration-Cmdlet.cs index 06a9a80ff7..5671fb47a9 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultLockConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultLockConfiguration-Cmdlet.cs @@ -37,8 +37,11 @@ namespace Amazon.PowerShell.Cmdlets.BAK /// /// Backup Vault Lock has been assessed by Cohasset Associates for use in environments /// that are subject to SEC 17a-4, CFTC, and FINRA regulations. For more information about - /// how Backup Vault Lock relates to these regulations, see the Cohasset - /// Associates Compliance Assessment. + /// how Backup Vault Lock relates to these regulations, see the Cohasset + /// Associates Compliance Assessment. + /// For more information, see Backup + /// Vault Lock. + /// /// [Cmdlet("Write", "BAKBackupVaultLockConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] @@ -117,8 +120,9 @@ public partial class WriteBAKBackupVaultLockConfigurationCmdlet : AmazonBackupCl /// The Backup Vault Lock configuration that specifies the minimum retention period that /// the vault retains its recovery points. This setting can be useful if, for example, /// your organization's policies require you to retain certain data for at least seven - /// years (2555 days).If this parameter is not specified, Vault Lock will not enforce a minimum retention - /// period.If this parameter is specified, any backup or copy job to the vault must have a lifecycle + /// years (2555 days).This parameter is required when a vault lock is created through CloudFormation; otherwise, + /// this parameter is optional. If this parameter is not specified, Vault Lock will not + /// enforce a minimum retention period.If this parameter is specified, any backup or copy job to the vault must have a lifecycle /// policy with a retention period equal to or longer than the minimum retention period. /// If the job's retention period is shorter than that minimum retention period, then /// the vault fails that backup or copy job, and you should either modify your lifecycle diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultNotification-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultNotification-Cmdlet.cs index 554a9688c7..f375f19a72 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultNotification-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKBackupVaultNotification-Cmdlet.cs @@ -47,9 +47,9 @@ public partial class WriteBAKBackupVaultNotificationCmdlet : AmazonBackupClientC /// /// An array of events that indicate the status of jobs to back up resources to the backup /// vault.For common use cases and code samples, see Using - /// Amazon SNS to track Backup events.The following events are supported:
    • BACKUP_JOB_STARTED | BACKUP_JOB_COMPLETED
    • COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | COPY_JOB_FAILED
    • RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | RECOVERY_POINT_MODIFIED
    • S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED
    The list below shows items that are deprecated events (for reference) and are no longer - /// in use. They are no longer supported and will not return statuses or notifications. - /// Refer to the list above for current supported events. + /// Amazon SNS to track Backup events.
    The following events are supported:
    • BACKUP_JOB_STARTED | BACKUP_JOB_COMPLETED
    • COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | COPY_JOB_FAILED
    • RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | RECOVERY_POINT_MODIFIED
    • S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED
    The list below includes both supported events and deprecated events that are no longer + /// in use (for reference). Deprecated events do not return statuses or notifications. + /// Refer to the list above for the supported events. ///
    /// #if !MODULAR @@ -69,7 +69,7 @@ public partial class WriteBAKBackupVaultNotificationCmdlet : AmazonBackupClientC /// /// The name of a logical container where backups are stored. Backup vaults are identified /// by names that are unique to the account used to create them and the Amazon Web Services - /// Region where they are created. They consist of lowercase letters, numbers, and hyphens. + /// Region where they are created. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKRestoreValidationResult-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKRestoreValidationResult-Cmdlet.cs index 69c2935c3c..52b09bdd5f 100644 --- a/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKRestoreValidationResult-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Backup/Basic/Write-BAKRestoreValidationResult-Cmdlet.cs @@ -64,7 +64,7 @@ public partial class WriteBAKRestoreValidationResultCmdlet : AmazonBackupClientC #region Parameter ValidationStatus /// /// - /// This is the status of your restore validation. + /// The status of your restore validation. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/BackupGateway/AmazonBackupGatewayClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/BackupGateway/AmazonBackupGatewayClientCmdlet.cs index 0946a94de7..8c2d3a7654 100644 --- a/modules/AWSPowerShell/Cmdlets/BackupGateway/AmazonBackupGatewayClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BackupGateway/AmazonBackupGatewayClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBackupGateway CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBackupGatewayConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Batch/AmazonBatchClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Batch/AmazonBatchClientCmdlet.cs index 1b65d90ec2..ec88d2d232 100644 --- a/modules/AWSPowerShell/Cmdlets/Batch/AmazonBatchClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Batch/AmazonBatchClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBatch CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBatchConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.Completers.psm1 index 20adf18025..e1e8c336eb 100644 --- a/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.Completers.psm1 @@ -299,6 +299,7 @@ $BDR_SelectMap = @{ "Get-BDRFoundationModel", "Get-BDRGuardrail", "Get-BDRImportedModel", + "Get-BDRInferenceProfile", "Get-BDRModelCopyJob", "Get-BDRModelCustomizationJob", "Get-BDRModelImportJob", @@ -310,6 +311,7 @@ $BDR_SelectMap = @{ "Get-BDRFoundationModelList", "Get-BDRGuardrailList", "Get-BDRImportedModelList", + "Get-BDRInferenceProfileList", "Get-BDRModelCopyJobList", "Get-BDRModelCustomizationJobList", "Get-BDRModelImportJobList", diff --git a/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.psd1 b/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.psd1 index cd069957fd..d09428e2a6 100644 --- a/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.psd1 +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/AWS.Tools.Bedrock.psd1 @@ -97,6 +97,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-BDRGuardrailList', 'Get-BDRImportedModel', 'Get-BDRImportedModelList', + 'Get-BDRInferenceProfile', + 'Get-BDRInferenceProfileList', 'Get-BDRModelCopyJob', 'Get-BDRModelCopyJobList', 'Get-BDRModelCustomizationJob', diff --git a/modules/AWSPowerShell/Cmdlets/Bedrock/AmazonBedrockClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Bedrock/AmazonBedrockClientCmdlet.cs index f362a2ca33..6becdb1f7e 100644 --- a/modules/AWSPowerShell/Cmdlets/Bedrock/AmazonBedrockClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/AmazonBedrockClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBedrock CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBedrockConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLIdentityProviderConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/Get-BDRInferenceProfile-Cmdlet.cs similarity index 65% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLIdentityProviderConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/Bedrock/Basic/Get-BDRInferenceProfile-Cmdlet.cs index 695fe619e3..fa7351149d 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLIdentityProviderConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/Get-BDRInferenceProfile-Cmdlet.cs @@ -22,30 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.Bedrock; +using Amazon.Bedrock.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.BDR { /// - /// Describes the identity provider configuration of the specified fleet.

    This operation is deprecated. + /// Gets information about an inference profile. For more information, see the Amazon + /// Bedrock User Guide. ///
    - [Cmdlet("Get", "WLIdentityProviderConfiguration")] - [OutputType("Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeIdentityProviderConfiguration API operation.", Operation = new[] {"DescribeIdentityProviderConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse", - "This cmdlet returns an Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "BDRInferenceProfile")] + [OutputType("Amazon.Bedrock.Model.GetInferenceProfileResponse")] + [AWSCmdlet("Calls the Amazon Bedrock GetInferenceProfile API operation.", Operation = new[] {"GetInferenceProfile"}, SelectReturnType = typeof(Amazon.Bedrock.Model.GetInferenceProfileResponse))] + [AWSCmdletOutput("Amazon.Bedrock.Model.GetInferenceProfileResponse", + "This cmdlet returns an Amazon.Bedrock.Model.GetInferenceProfileResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLIdentityProviderConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetBDRInferenceProfileCmdlet : AmazonBedrockClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter InferenceProfileIdentifier /// /// - /// The ARN of the fleet. + /// The unique identifier of the inference profile. /// /// #if !MODULAR @@ -56,14 +56,14 @@ public partial class GetWLIdentityProviderConfigurationCmdlet : AmazonWorkLinkCl [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String InferenceProfileIdentifier { get; set; } #endregion #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse will result in that property being returned. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.Bedrock.Model.GetInferenceProfileResponse). + /// Specifying the name of a property of type Amazon.Bedrock.Model.GetInferenceProfileResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -72,10 +72,10 @@ public partial class GetWLIdentityProviderConfigurationCmdlet : AmazonWorkLinkCl #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the InferenceProfileIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^InferenceProfileIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^InferenceProfileIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -93,7 +93,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -102,14 +102,14 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.InferenceProfileIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.InferenceProfileIdentifier = this.InferenceProfileIdentifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.InferenceProfileIdentifier == null && ParameterWasBound(nameof(this.InferenceProfileIdentifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter InferenceProfileIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -126,11 +126,11 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationRequest(); + var request = new Amazon.Bedrock.Model.GetInferenceProfileRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.InferenceProfileIdentifier != null) { - request.FleetArn = cmdletContext.FleetArn; + request.InferenceProfileIdentifier = cmdletContext.InferenceProfileIdentifier; } CmdletOutput output; @@ -165,15 +165,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationRequest request) + private Amazon.Bedrock.Model.GetInferenceProfileResponse CallAWSServiceOperation(IAmazonBedrock client, Amazon.Bedrock.Model.GetInferenceProfileRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeIdentityProviderConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Bedrock", "GetInferenceProfile"); try { #if DESKTOP - return client.DescribeIdentityProviderConfiguration(request); + return client.GetInferenceProfile(request); #elif CORECLR - return client.DescribeIdentityProviderConfigurationAsync(request).GetAwaiter().GetResult(); + return client.GetInferenceProfileAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -193,8 +193,8 @@ private Amazon.WorkLink.Model.DescribeIdentityProviderConfigurationResponse Call internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String InferenceProfileIdentifier { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => response; } diff --git a/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/Get-BDRInferenceProfileList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/Get-BDRInferenceProfileList-Cmdlet.cs new file mode 100644 index 0000000000..6139247e79 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/Get-BDRInferenceProfileList-Cmdlet.cs @@ -0,0 +1,226 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.Bedrock; +using Amazon.Bedrock.Model; + +namespace Amazon.PowerShell.Cmdlets.BDR +{ + /// + /// Returns a list of inference profiles that you can use.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "BDRInferenceProfileList")] + [OutputType("Amazon.Bedrock.Model.InferenceProfileSummary")] + [AWSCmdlet("Calls the Amazon Bedrock ListInferenceProfiles API operation.", Operation = new[] {"ListInferenceProfiles"}, SelectReturnType = typeof(Amazon.Bedrock.Model.ListInferenceProfilesResponse))] + [AWSCmdletOutput("Amazon.Bedrock.Model.InferenceProfileSummary or Amazon.Bedrock.Model.ListInferenceProfilesResponse", + "This cmdlet returns a collection of Amazon.Bedrock.Model.InferenceProfileSummary objects.", + "The service call response (type Amazon.Bedrock.Model.ListInferenceProfilesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetBDRInferenceProfileListCmdlet : AmazonBedrockClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to return in the response. If the total number of results + /// is greater than this value, use the token returned in the response in the nextToken + /// field when making another request to return the next batch of results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// If the total number of results is greater than the maxResults value provided + /// in the request, enter the token returned in the nextToken field in the response + /// in this field to return the next batch of results. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'InferenceProfileSummaries'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.Bedrock.Model.ListInferenceProfilesResponse). + /// Specifying the name of a property of type Amazon.Bedrock.Model.ListInferenceProfilesResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "InferenceProfileSummaries"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.Bedrock.Model.ListInferenceProfilesRequest(); + + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.Bedrock.Model.ListInferenceProfilesResponse CallAWSServiceOperation(IAmazonBedrock client, Amazon.Bedrock.Model.ListInferenceProfilesRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Bedrock", "ListInferenceProfiles"); + try + { + #if DESKTOP + return client.ListInferenceProfiles(request); + #elif CORECLR + return client.ListInferenceProfilesAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.InferenceProfileSummaries; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelCustomizationJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelCustomizationJob-Cmdlet.cs index adbd0bd2a5..e766ad993d 100644 --- a/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelCustomizationJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelCustomizationJob-Cmdlet.cs @@ -246,7 +246,7 @@ public partial class NewBDRModelCustomizationJobCmdlet : AmazonBedrockClientCmdl #region Parameter VpcConfig_SecurityGroupId /// /// - /// VPC configuration security group Ids. + /// An array of IDs for each security group in the VPC to use. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -257,7 +257,7 @@ public partial class NewBDRModelCustomizationJobCmdlet : AmazonBedrockClientCmdl #region Parameter VpcConfig_SubnetId /// /// - /// VPC configuration subnets. + /// An array of IDs for each subnet in the VPC to use. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelImportJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelImportJob-Cmdlet.cs index 475790b976..90e58ccdf4 100644 --- a/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelImportJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelImportJob-Cmdlet.cs @@ -154,7 +154,7 @@ public partial class NewBDRModelImportJobCmdlet : AmazonBedrockClientCmdlet, IEx #region Parameter VpcConfig_SecurityGroupId /// /// - /// VPC configuration security group Ids. + /// An array of IDs for each security group in the VPC to use. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -165,7 +165,7 @@ public partial class NewBDRModelImportJobCmdlet : AmazonBedrockClientCmdlet, IEx #region Parameter VpcConfig_SubnetId /// /// - /// VPC configuration subnets. + /// An array of IDs for each subnet in the VPC to use. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelInvocationJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelInvocationJob-Cmdlet.cs index c86a90053e..501dce4ccf 100644 --- a/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelInvocationJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Bedrock/Basic/New-BDRModelInvocationJob-Cmdlet.cs @@ -28,17 +28,16 @@ namespace Amazon.PowerShell.Cmdlets.BDR { /// - /// Creates a job to invoke a model on multiple prompts (batch inference). Format your - /// data according to Format + /// Creates a batch inference job to invoke a model on multiple prompts. Format your data + /// according to Format /// your inference data and upload it to an Amazon S3 bucket. For more information, - /// see Create - /// a batch inference job. + /// see Process + /// multiple prompts with batch inference. /// /// /// /// The response returns a jobArn that you can use to stop or get details about - /// the job. You can check the status of the job by sending a GetModelCustomizationJob - /// request. + /// the job. /// /// [Cmdlet("New", "BDRModelInvocationJob", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -120,6 +119,30 @@ public partial class NewBDRModelInvocationJobCmdlet : AmazonBedrockClientCmdlet, public System.String RoleArn { get; set; } #endregion + #region Parameter S3InputDataConfig_S3BucketOwner + /// + /// + /// The ID of the Amazon Web Services account that owns the S3 bucket containing the input + /// data. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InputDataConfig_S3InputDataConfig_S3BucketOwner")] + public System.String S3InputDataConfig_S3BucketOwner { get; set; } + #endregion + + #region Parameter S3OutputDataConfig_S3BucketOwner + /// + /// + /// The ID of the Amazon Web Services account that owns the S3 bucket containing the output + /// data. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("OutputDataConfig_S3OutputDataConfig_S3BucketOwner")] + public System.String S3OutputDataConfig_S3BucketOwner { get; set; } + #endregion + #region Parameter S3OutputDataConfig_S3EncryptionKeyId /// /// @@ -165,6 +188,28 @@ public partial class NewBDRModelInvocationJobCmdlet : AmazonBedrockClientCmdlet, public System.String S3OutputDataConfig_S3Uri { get; set; } #endregion + #region Parameter VpcConfig_SecurityGroupId + /// + /// + /// An array of IDs for each security group in the VPC to use. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("VpcConfig_SecurityGroupIds")] + public System.String[] VpcConfig_SecurityGroupId { get; set; } + #endregion + + #region Parameter VpcConfig_SubnetId + /// + /// + /// An array of IDs for each subnet in the VPC to use. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("VpcConfig_SubnetIds")] + public System.String[] VpcConfig_SubnetId { get; set; } + #endregion + #region Parameter Tag /// /// @@ -231,6 +276,7 @@ protected override void ProcessRecord() throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); } context.ClientRequestToken = this.ClientRequestToken; + context.S3InputDataConfig_S3BucketOwner = this.S3InputDataConfig_S3BucketOwner; context.S3InputDataConfig_S3InputFormat = this.S3InputDataConfig_S3InputFormat; context.S3InputDataConfig_S3Uri = this.S3InputDataConfig_S3Uri; context.JobName = this.JobName; @@ -247,6 +293,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter ModelId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.S3OutputDataConfig_S3BucketOwner = this.S3OutputDataConfig_S3BucketOwner; context.S3OutputDataConfig_S3EncryptionKeyId = this.S3OutputDataConfig_S3EncryptionKeyId; context.S3OutputDataConfig_S3Uri = this.S3OutputDataConfig_S3Uri; context.RoleArn = this.RoleArn; @@ -261,6 +308,14 @@ protected override void ProcessRecord() context.Tag = new List(this.Tag); } context.TimeoutDurationInHour = this.TimeoutDurationInHour; + if (this.VpcConfig_SecurityGroupId != null) + { + context.VpcConfig_SecurityGroupId = new List(this.VpcConfig_SecurityGroupId); + } + if (this.VpcConfig_SubnetId != null) + { + context.VpcConfig_SubnetId = new List(this.VpcConfig_SubnetId); + } // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -290,6 +345,16 @@ public object Execute(ExecutorContext context) // populate S3InputDataConfig var requestInputDataConfig_inputDataConfig_S3InputDataConfigIsNull = true; requestInputDataConfig_inputDataConfig_S3InputDataConfig = new Amazon.Bedrock.Model.ModelInvocationJobS3InputDataConfig(); + System.String requestInputDataConfig_inputDataConfig_S3InputDataConfig_s3InputDataConfig_S3BucketOwner = null; + if (cmdletContext.S3InputDataConfig_S3BucketOwner != null) + { + requestInputDataConfig_inputDataConfig_S3InputDataConfig_s3InputDataConfig_S3BucketOwner = cmdletContext.S3InputDataConfig_S3BucketOwner; + } + if (requestInputDataConfig_inputDataConfig_S3InputDataConfig_s3InputDataConfig_S3BucketOwner != null) + { + requestInputDataConfig_inputDataConfig_S3InputDataConfig.S3BucketOwner = requestInputDataConfig_inputDataConfig_S3InputDataConfig_s3InputDataConfig_S3BucketOwner; + requestInputDataConfig_inputDataConfig_S3InputDataConfigIsNull = false; + } Amazon.Bedrock.S3InputFormat requestInputDataConfig_inputDataConfig_S3InputDataConfig_s3InputDataConfig_S3InputFormat = null; if (cmdletContext.S3InputDataConfig_S3InputFormat != null) { @@ -342,6 +407,16 @@ public object Execute(ExecutorContext context) // populate S3OutputDataConfig var requestOutputDataConfig_outputDataConfig_S3OutputDataConfigIsNull = true; requestOutputDataConfig_outputDataConfig_S3OutputDataConfig = new Amazon.Bedrock.Model.ModelInvocationJobS3OutputDataConfig(); + System.String requestOutputDataConfig_outputDataConfig_S3OutputDataConfig_s3OutputDataConfig_S3BucketOwner = null; + if (cmdletContext.S3OutputDataConfig_S3BucketOwner != null) + { + requestOutputDataConfig_outputDataConfig_S3OutputDataConfig_s3OutputDataConfig_S3BucketOwner = cmdletContext.S3OutputDataConfig_S3BucketOwner; + } + if (requestOutputDataConfig_outputDataConfig_S3OutputDataConfig_s3OutputDataConfig_S3BucketOwner != null) + { + requestOutputDataConfig_outputDataConfig_S3OutputDataConfig.S3BucketOwner = requestOutputDataConfig_outputDataConfig_S3OutputDataConfig_s3OutputDataConfig_S3BucketOwner; + requestOutputDataConfig_outputDataConfig_S3OutputDataConfigIsNull = false; + } System.String requestOutputDataConfig_outputDataConfig_S3OutputDataConfig_s3OutputDataConfig_S3EncryptionKeyId = null; if (cmdletContext.S3OutputDataConfig_S3EncryptionKeyId != null) { @@ -390,6 +465,35 @@ public object Execute(ExecutorContext context) request.TimeoutDurationInHours = cmdletContext.TimeoutDurationInHour.Value; } + // populate VpcConfig + var requestVpcConfigIsNull = true; + request.VpcConfig = new Amazon.Bedrock.Model.VpcConfig(); + List requestVpcConfig_vpcConfig_SecurityGroupId = null; + if (cmdletContext.VpcConfig_SecurityGroupId != null) + { + requestVpcConfig_vpcConfig_SecurityGroupId = cmdletContext.VpcConfig_SecurityGroupId; + } + if (requestVpcConfig_vpcConfig_SecurityGroupId != null) + { + request.VpcConfig.SecurityGroupIds = requestVpcConfig_vpcConfig_SecurityGroupId; + requestVpcConfigIsNull = false; + } + List requestVpcConfig_vpcConfig_SubnetId = null; + if (cmdletContext.VpcConfig_SubnetId != null) + { + requestVpcConfig_vpcConfig_SubnetId = cmdletContext.VpcConfig_SubnetId; + } + if (requestVpcConfig_vpcConfig_SubnetId != null) + { + request.VpcConfig.SubnetIds = requestVpcConfig_vpcConfig_SubnetId; + requestVpcConfigIsNull = false; + } + // determine if request.VpcConfig should be set to null + if (requestVpcConfigIsNull) + { + request.VpcConfig = null; + } + CmdletOutput output; // issue call @@ -451,15 +555,19 @@ private Amazon.Bedrock.Model.CreateModelInvocationJobResponse CallAWSServiceOper internal partial class CmdletContext : ExecutorContext { public System.String ClientRequestToken { get; set; } + public System.String S3InputDataConfig_S3BucketOwner { get; set; } public Amazon.Bedrock.S3InputFormat S3InputDataConfig_S3InputFormat { get; set; } public System.String S3InputDataConfig_S3Uri { get; set; } public System.String JobName { get; set; } public System.String ModelId { get; set; } + public System.String S3OutputDataConfig_S3BucketOwner { get; set; } public System.String S3OutputDataConfig_S3EncryptionKeyId { get; set; } public System.String S3OutputDataConfig_S3Uri { get; set; } public System.String RoleArn { get; set; } public List Tag { get; set; } public System.Int32? TimeoutDurationInHour { get; set; } + public List VpcConfig_SecurityGroupId { get; set; } + public List VpcConfig_SubnetId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.JobArn; } diff --git a/modules/AWSPowerShell/Cmdlets/BedrockAgent/AmazonBedrockAgentClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockAgent/AmazonBedrockAgentClientCmdlet.cs index 7126a61426..b8de1e9bd6 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockAgent/AmazonBedrockAgentClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockAgent/AmazonBedrockAgentClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBedrockAgent CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBedrockAgentConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABAgent-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABAgent-Cmdlet.cs index d00b547fb0..9454226625 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABAgent-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABAgent-Cmdlet.cs @@ -52,8 +52,11 @@ namespace Amazon.PowerShell.Cmdlets.AAB /// see Advanced /// prompts. ///
  • - /// If you agent fails to be created, the response returns a list of failureReasons + /// If your agent fails to be created, the response returns a list of failureReasons /// alongside a list of recommendedActions for you to troubleshoot. + ///
  • + /// The agent instructions will not be honored if your agent has only one knowledge base, + /// uses default prompts, has no action group, and user input is disabled. ///
  • ///
    [Cmdlet("New", "AABAgent", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -134,7 +137,8 @@ public partial class NewAABAgentCmdlet : AmazonBedrockAgentClientCmdlet, IExecut #region Parameter FoundationModel /// /// - /// The foundation model to be used for orchestration by the agent you create. + /// The Amazon Resource Name (ARN) of the foundation model to be used for orchestration + /// by the agent you create. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -193,7 +197,7 @@ public partial class NewAABAgentCmdlet : AmazonBedrockAgentClientCmdlet, IExecut /// in parts of the agent sequence. If you specify this field, at least one of the promptConfigurations /// must contain a parserMode value that is set to OVERRIDDEN. For more /// information, see Parser - /// Lambda function in Agents for Amazon Bedrock.
    + /// Lambda function in Amazon Bedrock Agents. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABDataSource-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABDataSource-Cmdlet.cs index ebf4c7d7a6..b52f77af37 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABDataSource-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/New-AABDataSource-Cmdlet.cs @@ -405,7 +405,8 @@ public partial class NewAABDataSourceCmdlet : AmazonBedrockAgentClientCmdlet, IE #region Parameter BedrockFoundationModelConfiguration_ModelArn /// /// - /// The model's ARN. + /// The ARN of the foundation model or inference + /// profile. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABAgent-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABAgent-Cmdlet.cs index a67f59e5a9..c433b79e0b 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABAgent-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABAgent-Cmdlet.cs @@ -198,7 +198,7 @@ public partial class UpdateAABAgentCmdlet : AmazonBedrockAgentClientCmdlet, IExe /// in parts of the agent sequence. If you specify this field, at least one of the promptConfigurations /// must contain a parserMode value that is set to OVERRIDDEN. For more /// information, see Parser - /// Lambda function in Agents for Amazon Bedrock. + /// Lambda function in Amazon Bedrock Agents. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABDataSource-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABDataSource-Cmdlet.cs index e09d2d3bc8..a0bd50edeb 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABDataSource-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockAgent/Basic/Update-AABDataSource-Cmdlet.cs @@ -417,7 +417,8 @@ public partial class UpdateAABDataSourceCmdlet : AmazonBedrockAgentClientCmdlet, #region Parameter BedrockFoundationModelConfiguration_ModelArn /// /// - /// The model's ARN. + /// The ARN of the foundation model or inference + /// profile. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/AmazonBedrockAgentRuntimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/AmazonBedrockAgentRuntimeClientCmdlet.cs index 2ea279af9e..ea830bc430 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/AmazonBedrockAgentRuntimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/AmazonBedrockAgentRuntimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBedrockAgentRuntime CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBedrockAgentRuntimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/Basic/Invoke-BARRetrieveAndGenerate-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/Basic/Invoke-BARRetrieveAndGenerate-Cmdlet.cs index 57af699805..1f52eb451b 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/Basic/Invoke-BARRetrieveAndGenerate-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockAgentRuntime/Basic/Invoke-BARRetrieveAndGenerate-Cmdlet.cs @@ -28,8 +28,9 @@ namespace Amazon.PowerShell.Cmdlets.BAR { /// - /// Queries a knowledge base and generates responses based on the retrieved results. The - /// response only cites sources that are relevant to the query. + /// Queries a knowledge base and generates responses based on the retrieved results and + /// using the specified foundation model or inference + /// profile. The response only cites sources that are relevant to the query. /// [Cmdlet("Invoke", "BARRetrieveAndGenerate", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.BedrockAgentRuntime.Model.RetrieveAndGenerateResponse")] @@ -257,8 +258,7 @@ public partial class InvokeBARRetrieveAndGenerateCmdlet : AmazonBedrockAgentRunt #region Parameter KnowledgeBaseConfiguration_KnowledgeBaseId /// /// - /// The unique identifier of the knowledge base that is queried and the foundation model - /// used for generation. + /// The unique identifier of the knowledge base that is queried. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -306,7 +306,8 @@ public partial class InvokeBARRetrieveAndGenerateCmdlet : AmazonBedrockAgentRunt #region Parameter KnowledgeBaseConfiguration_ModelArn /// /// - /// The ARN of the foundation model used to generate a response. + /// The ARN of the foundation model or inference + /// profile used to generate a response. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/AmazonBedrockRuntimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/AmazonBedrockRuntimeClientCmdlet.cs index 1b1aaea824..dbcd9601eb 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/AmazonBedrockRuntimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/AmazonBedrockRuntimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBedrockRuntime CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBedrockRuntimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverse-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverse-Cmdlet.cs index 05ec2458db..df076a75c7 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverse-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverse-Cmdlet.cs @@ -167,13 +167,17 @@ public partial class InvokeBDRRConverseCmdlet : AmazonBedrockRuntimeClientCmdlet #region Parameter ModelId /// /// - /// The identifier for the model that you want to call.The modelId to provide depends on the type of model that you use:
    • If you use a base model, specify the model ID or its ARN. For a list of model IDs + /// The identifier for the model that you want to call.The modelId to provide depends on the type of model or throughput that you + /// use: + /// a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.
    The Converse API doesn't support imported + /// models. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverseStream-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverseStream-Cmdlet.cs index 479457a663..294fe7fbe6 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverseStream-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRConverseStream-Cmdlet.cs @@ -173,13 +173,17 @@ public partial class InvokeBDRRConverseStreamCmdlet : AmazonBedrockRuntimeClient #region Parameter ModelId /// /// - /// The ID for the model.The modelId to provide depends on the type of model that you use:
    • If you use a base model, specify the model ID or its ARN. For a list of model IDs + /// The ID for the model.The modelId to provide depends on the type of model or throughput that you + /// use: + /// a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.
    The Converse API doesn't support imported + /// models. ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModel-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModel-Cmdlet.cs index 9d9f23e1d6..2b5bc61624 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModel-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModel-Cmdlet.cs @@ -129,7 +129,10 @@ public partial class InvokeBDRRModelCmdlet : AmazonBedrockRuntimeClientCmdlet, I /// more information, see Run /// inference using a Provisioned Throughput in the Amazon Bedrock User Guide.
  • If you use a custom model, first purchase Provisioned Throughput for it. Then specify /// the ARN of the resulting provisioned model. For more information, see Use - /// a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.
  • + /// a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.
  • If you use an imported + /// model, specify the ARN of the imported model. You can get the model ARN from a + /// successful call to CreateModelImportJob + /// or from the Imported models page in the Amazon Bedrock console.
  • /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModelWithResponseStream-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModelWithResponseStream-Cmdlet.cs index 9208c15a04..29f9376dd6 100644 --- a/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModelWithResponseStream-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BedrockRuntime/Basic/Invoke-BDRRModelWithResponseStream-Cmdlet.cs @@ -132,7 +132,10 @@ public partial class InvokeBDRRModelWithResponseStreamCmdlet : AmazonBedrockRunt /// more information, see Run /// inference using a Provisioned Throughput in the Amazon Bedrock User Guide.
  • If you use a custom model, first purchase Provisioned Throughput for it. Then specify /// the ARN of the resulting provisioned model. For more information, see Use - /// a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.
  • + /// a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.
  • If you use an imported + /// model, specify the ARN of the imported model. You can get the model ARN from a + /// successful call to CreateModelImportJob + /// or from the Imported models page in the Amazon Bedrock console.
  • /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/BillingConductor/AmazonBillingConductorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/BillingConductor/AmazonBillingConductorClientCmdlet.cs index 74967ed156..b0bdea1377 100644 --- a/modules/AWSPowerShell/Cmdlets/BillingConductor/AmazonBillingConductorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/BillingConductor/AmazonBillingConductorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBillingConductor CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBillingConductorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Braket/AmazonBraketClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Braket/AmazonBraketClientCmdlet.cs index 903d8b3161..2cb8671655 100644 --- a/modules/AWSPowerShell/Cmdlets/Braket/AmazonBraketClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Braket/AmazonBraketClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBraket CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBraketConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Budgets/AmazonBudgetsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Budgets/AmazonBudgetsClientCmdlet.cs index 124775c23b..f0d91a8a96 100644 --- a/modules/AWSPowerShell/Cmdlets/Budgets/AmazonBudgetsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Budgets/AmazonBudgetsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonBudgets CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonBudgetsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CertificateManager/AmazonCertificateManagerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CertificateManager/AmazonCertificateManagerClientCmdlet.cs index e681c00e3f..a70b33d76d 100644 --- a/modules/AWSPowerShell/Cmdlets/CertificateManager/AmazonCertificateManagerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CertificateManager/AmazonCertificateManagerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCertificateManager CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCertificateManagerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/AmazonChatbotClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/AmazonChatbotClientCmdlet.cs index 6c301b71d5..2a3ea1878f 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/AmazonChatbotClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/AmazonChatbotClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonChatbot CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonChatbotConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Add-CHATResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Add-CHATResourceTag-Cmdlet.cs index 94504dbf68..127a0b0d36 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Add-CHATResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Add-CHATResourceTag-Cmdlet.cs @@ -28,7 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Applies the supplied tags to a configuration. + /// Attaches a key-value pair to a resource, as identified by its Amazon Resource Name + /// (ARN). Resources are users, servers, roles, and other entities. /// [Cmdlet("Add", "CHATResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] @@ -45,7 +46,7 @@ public partial class AddCHATResourceTagCmdlet : AmazonChatbotClientCmdlet, IExec #region Parameter ResourceARN /// /// - /// The ARN of the configuration. + /// The ARN of the configuration. /// /// #if !MODULAR @@ -62,7 +63,7 @@ public partial class AddCHATResourceTagCmdlet : AmazonChatbotClientCmdlet, IExec #region Parameter Tag /// /// - /// A list of tags to apply to the configuration. + /// A list of tags to apply to the configuration. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATAccountPreference-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATAccountPreference-Cmdlet.cs index 68be27c1ad..9a2059d80c 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATAccountPreference-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATAccountPreference-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Get Chatbot account level preferences + /// Returns AWS Chatbot account preferences. /// [Cmdlet("Get", "CHATAccountPreference")] [OutputType("Amazon.Chatbot.Model.AccountPreferences")] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATChimeWebhookConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATChimeWebhookConfiguration-Cmdlet.cs index eaeed5e693..dce65f3ccf 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATChimeWebhookConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATChimeWebhookConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Lists Chime Webhook Configurations optionally filtered by ChatConfigurationArn + /// Lists Amazon Chime webhook configurations optionally filtered by ChatConfigurationArn /// [Cmdlet("Get", "CHATChimeWebhookConfiguration")] [OutputType("Amazon.Chatbot.Model.ChimeWebhookConfiguration")] @@ -40,13 +40,14 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class GetCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ChatConfigurationArn /// /// - /// An optional ARN of a ChimeWebhookConfiguration - /// to describe. + /// An optional Amazon Resource Number (ARN) of a ChimeWebhookConfiguration to describe. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -56,9 +57,9 @@ public partial class GetCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter MaxResult /// /// - /// The maximum number of results to include in - /// the response. If more results exist than the specified MaxResults value, a token is - /// included in the response so that the remaining results can be retrieved. + /// The maximum number of results to include in the response. If more results exist than + /// the specified MaxResults value, a token is included in the response so that the remaining + /// results can be retrieved. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -69,10 +70,9 @@ public partial class GetCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter NextToken /// /// - /// An optional token returned from a prior request. - /// Use this token for pagination of results from this action. If this parameter is specified, - /// the response includes only results beyond the token, up to the value specified by - /// MaxResults. + /// An optional token returned from a prior request. Use this token for pagination of + /// results from this action. If this parameter is specified, the response includes only + /// results beyond the token, up to the value specified by MaxResults. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs index 9ef10ade13..23429627b2 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Get a single MS Teams Channel Configurations + /// Returns a Microsoft Teams channel configuration in an AWS account. /// [Cmdlet("Get", "CHATMicrosoftTeamsChannelConfiguration")] [OutputType("Amazon.Chatbot.Model.TeamsChannelConfiguration")] @@ -40,13 +40,14 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class GetCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ChatConfigurationArn /// /// - /// The ARN of the MicrosoftTeamsChannelConfiguration - /// to retrieve. + /// The Amazon Resource Number (ARN) of the MicrosoftTeamsChannelConfiguration to retrieve. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfigurationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfigurationList-Cmdlet.cs index 98c18bd435..b79c0fb2c3 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfigurationList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsChannelConfigurationList-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Lists MS Teams Channel Configurations optionally filtered by TeamId + /// Lists all AWS Chatbot Microsoft Teams channel configurations in an AWS account. /// [Cmdlet("Get", "CHATMicrosoftTeamsChannelConfigurationList")] [OutputType("Amazon.Chatbot.Model.TeamsChannelConfiguration")] @@ -40,16 +40,18 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class GetCHATMicrosoftTeamsChannelConfigurationListCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter TeamId /// /// - /// The ID of the Microsoft Team authorized with AWS - /// Chatbot. To get the team ID, you must perform the initial authorization flow with - /// Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID - /// from the console. For more details, see steps 1-4 in Get started with Microsoft Teams - /// in the AWS Chatbot Administrator Guide. + /// The ID of the Microsoft Teams authorized with AWS Chatbot.To get the team ID, you must perform the initial authorization flow with Microsoft + /// Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the + /// console. For more information, see Step + /// 1: Configure a Microsoft Teams client in the AWS Chatbot Administrator Guide. + /// /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -59,9 +61,9 @@ public partial class GetCHATMicrosoftTeamsChannelConfigurationListCmdlet : Amazo #region Parameter MaxResult /// /// - /// The maximum number of results to include in - /// the response. If more results exist than the specified MaxResults value, a token is - /// included in the response so that the remaining results can be retrieved. + /// The maximum number of results to include in the response. If more results exist than + /// the specified MaxResults value, a token is included in the response so that the remaining + /// results can be retrieved. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -72,10 +74,9 @@ public partial class GetCHATMicrosoftTeamsChannelConfigurationListCmdlet : Amazo #region Parameter NextToken /// /// - /// An optional token returned from a prior request. - /// Use this token for pagination of results from this action. If this parameter is specified, - /// the response includes only results beyond the token, up to the value specified by - /// MaxResults. + /// An optional token returned from a prior request. Use this token for pagination of + /// results from this action. If this parameter is specified, the response includes only + /// results beyond the token, up to the value specified by MaxResults. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsConfiguredTeamList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsConfiguredTeamList-Cmdlet.cs index 6345402077..f3cb4243a0 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsConfiguredTeamList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsConfiguredTeamList-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Lists all authorized MS teams for AWS Account + /// Lists all authorized Microsoft Teams for an AWS Account /// [Cmdlet("Get", "CHATMicrosoftTeamsConfiguredTeamList")] [OutputType("Amazon.Chatbot.Model.ConfiguredTeam")] @@ -45,9 +45,9 @@ public partial class GetCHATMicrosoftTeamsConfiguredTeamListCmdlet : AmazonChatb #region Parameter MaxResult /// /// - /// The maximum number of results to include in - /// the response. If more results exist than the specified MaxResults value, a token is - /// included in the response so that the remaining results can be retrieved. + /// The maximum number of results to include in the response. If more results exist than + /// the specified MaxResults value, a token is included in the response so that the remaining + /// results can be retrieved. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -58,10 +58,9 @@ public partial class GetCHATMicrosoftTeamsConfiguredTeamListCmdlet : AmazonChatb #region Parameter NextToken /// /// - /// An optional token returned from a prior request. - /// Use this token for pagination of results from this action. If this parameter is specified, - /// the response includes only results beyond the token, up to the value specified by - /// MaxResults. + /// An optional token returned from a prior request. Use this token for pagination of + /// results from this action. If this parameter is specified, the response includes only + /// results beyond the token, up to the value specified by MaxResults. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsUserIdentityList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsUserIdentityList-Cmdlet.cs index 49e8c85a62..d97913b79b 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsUserIdentityList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATMicrosoftTeamsUserIdentityList-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Lists all Microsoft Teams user identities with a mapped role. + /// A list all Microsoft Teams user identities with a mapped role. /// [Cmdlet("Get", "CHATMicrosoftTeamsUserIdentityList")] [OutputType("Amazon.Chatbot.Model.TeamsUserIdentity")] @@ -45,8 +45,8 @@ public partial class GetCHATMicrosoftTeamsUserIdentityListCmdlet : AmazonChatbot #region Parameter ChatConfigurationArn /// /// - /// The ARN of the MicrosoftTeamsChannelConfiguration - /// associated with the user identities to list. + /// The Amazon Resource Number (ARN) of the MicrosoftTeamsChannelConfiguration associated + /// with the user identities to list. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -56,9 +56,9 @@ public partial class GetCHATMicrosoftTeamsUserIdentityListCmdlet : AmazonChatbot #region Parameter MaxResult /// /// - /// The maximum number of results to include in - /// the response. If more results exist than the specified MaxResults value, a token is - /// included in the response so that the remaining results can be retrieved. + /// The maximum number of results to include in the response. If more results exist than + /// the specified MaxResults value, a token is included in the response so that the remaining + /// results can be retrieved. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -69,10 +69,9 @@ public partial class GetCHATMicrosoftTeamsUserIdentityListCmdlet : AmazonChatbot #region Parameter NextToken /// /// - /// An optional token returned from a prior request. - /// Use this token for pagination of results from this action. If this parameter is specified, - /// the response includes only results beyond the token, up to the value specified by - /// MaxResults. + /// An optional token returned from a prior request. Use this token for pagination of + /// results from this action. If this parameter is specified, the response includes only + /// results beyond the token, up to the value specified by MaxResults. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATResourceTag-Cmdlet.cs index bd75f1f950..4520103d23 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATResourceTag-Cmdlet.cs @@ -28,7 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Retrieves the list of tags applied to a configuration. + /// Lists all of the tags associated with the Amazon Resource Name (ARN) that you specify. + /// The resource can be a user, server, or role. /// [Cmdlet("Get", "CHATResourceTag")] [OutputType("Amazon.Chatbot.Model.Tag")] @@ -45,7 +46,7 @@ public partial class GetCHATResourceTagCmdlet : AmazonChatbotClientCmdlet, IExec #region Parameter ResourceARN /// /// - /// The ARN of the configuration. + /// The ARN you specified to list the tags of. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackChannelConfiguration-Cmdlet.cs index b0edaf84b4..ecfa4b1487 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Lists Slack Channel Configurations optionally filtered by ChatConfigurationArn + /// Lists Slack channel configurations optionally filtered by ChatConfigurationArn /// [Cmdlet("Get", "CHATSlackChannelConfiguration")] [OutputType("Amazon.Chatbot.Model.SlackChannelConfiguration")] @@ -40,13 +40,14 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class GetCHATSlackChannelConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ChatConfigurationArn /// /// - /// An optional ARN of a SlackChannelConfiguration - /// to describe. + /// An optional Amazon Resource Number (ARN) of a SlackChannelConfiguration to describe. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -56,9 +57,9 @@ public partial class GetCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter MaxResult /// /// - /// The maximum number of results to include in - /// the response. If more results exist than the specified MaxResults value, a token is - /// included in the response so that the remaining results can be retrieved. + /// The maximum number of results to include in the response. If more results exist than + /// the specified MaxResults value, a token is included in the response so that the remaining + /// results can be retrieved. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -69,10 +70,9 @@ public partial class GetCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter NextToken /// /// - /// An optional token returned from a prior request. - /// Use this token for pagination of results from this action. If this parameter is specified, - /// the response includes only results beyond the token, up to the value specified by - /// MaxResults. + /// An optional token returned from a prior request. Use this token for pagination of + /// results from this action. If this parameter is specified, the response includes only + /// results beyond the token, up to the value specified by MaxResults. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackUserIdentity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackUserIdentity-Cmdlet.cs index 0bff0b2628..fefdce218b 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackUserIdentity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackUserIdentity-Cmdlet.cs @@ -45,8 +45,8 @@ public partial class GetCHATSlackUserIdentityCmdlet : AmazonChatbotClientCmdlet, #region Parameter ChatConfigurationArn /// /// - /// The ARN of the SlackChannelConfiguration - /// associated with the user identities to describe. + /// The Amazon Resource Number (ARN) of the SlackChannelConfiguration associated with + /// the user identities to describe. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -56,9 +56,9 @@ public partial class GetCHATSlackUserIdentityCmdlet : AmazonChatbotClientCmdlet, #region Parameter MaxResult /// /// - /// The maximum number of results to include in - /// the response. If more results exist than the specified MaxResults value, a token is - /// included in the response so that the remaining results can be retrieved. + /// The maximum number of results to include in the response. If more results exist than + /// the specified MaxResults value, a token is included in the response so that the remaining + /// results can be retrieved. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -69,10 +69,9 @@ public partial class GetCHATSlackUserIdentityCmdlet : AmazonChatbotClientCmdlet, #region Parameter NextToken /// /// - /// An optional token returned from a prior request. - /// Use this token for pagination of results from this action. If this parameter is specified, - /// the response includes only results beyond the token, up to the value specified by - /// MaxResults. + /// An optional token returned from a prior request. Use this token for pagination of + /// results from this action. If this parameter is specified, the response includes only + /// results beyond the token, up to the value specified by MaxResults. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackWorkspace-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackWorkspace-Cmdlet.cs index de2983f5dd..db3b50fd68 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackWorkspace-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Get-CHATSlackWorkspace-Cmdlet.cs @@ -28,7 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Lists all authorized Slack Workspaces for AWS Account + /// List all authorized Slack workspaces connected to the AWS Account onboarded with AWS + /// Chatbot. /// [Cmdlet("Get", "CHATSlackWorkspace")] [OutputType("Amazon.Chatbot.Model.SlackWorkspace")] @@ -45,9 +46,9 @@ public partial class GetCHATSlackWorkspaceCmdlet : AmazonChatbotClientCmdlet, IE #region Parameter MaxResult /// /// - /// The maximum number of results to include in - /// the response. If more results exist than the specified MaxResults value, a token is - /// included in the response so that the remaining results can be retrieved. + /// The maximum number of results to include in the response. If more results exist than + /// the specified MaxResults value, a token is included in the response so that the remaining + /// results can be retrieved. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -58,10 +59,9 @@ public partial class GetCHATSlackWorkspaceCmdlet : AmazonChatbotClientCmdlet, IE #region Parameter NextToken /// /// - /// An optional token returned from a prior request. - /// Use this token for pagination of results from this action. If this parameter is specified, - /// the response includes only results beyond the token, up to the value specified by - /// MaxResults. + /// An optional token returned from a prior request. Use this token for pagination of + /// results from this action. If this parameter is specified, the response includes only + /// results beyond the token, up to the value specified by MaxResults. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATChimeWebhookConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATChimeWebhookConfiguration-Cmdlet.cs index a403d110f4..1177c34e28 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATChimeWebhookConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATChimeWebhookConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Creates Chime Webhook Configuration + /// Creates an AWS Chatbot configuration for Amazon Chime. /// [Cmdlet("New", "CHATChimeWebhookConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Chatbot.Model.ChimeWebhookConfiguration")] @@ -40,12 +40,16 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class NewCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ConfigurationName /// /// - /// The name of the configuration. + /// The name of the configuration. /// /// #if !MODULAR @@ -62,9 +66,8 @@ public partial class NewCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter IamRoleArn /// /// - /// This is a user-defined role that AWS Chatbot - /// will assume. This is not the service-linked role. For more information, see IAM Policies - /// for AWS Chatbot. + /// A user-defined role that AWS Chatbot assumes. This is not the service-linked role.For more information, see IAM + /// policies for AWS Chatbot in the AWS Chatbot Administrator Guide. /// /// #if !MODULAR @@ -81,7 +84,7 @@ public partial class NewCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter LoggingLevel /// /// - /// Logging levels include ERROR, INFO, or NONE. + /// Logging levels include ERROR, INFO, or NONE. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -91,8 +94,8 @@ public partial class NewCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter SnsTopicArn /// /// - /// The ARNs of the SNS topics that deliver notifications - /// to AWS Chatbot. + /// The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS + /// Chatbot. /// /// #if !MODULAR @@ -110,7 +113,8 @@ public partial class NewCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter Tag /// /// - /// A list of tags to apply to the configuration. + /// A map of tags assigned to a resource. A tag is a string-to-string map of key-value + /// pairs. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -121,9 +125,9 @@ public partial class NewCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter WebhookDescription /// /// - /// Description of the webhook. Recommend - /// using the convention `RoomName/WebhookName`. See Chime setup tutorial for more details: - /// https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html. + /// A description of the webhook. We recommend using the convention RoomName/WebhookName.For more information, see Tutorial: + /// Get started with Amazon Chime in the AWS Chatbot Administrator Guide. + /// /// /// #if !MODULAR @@ -140,7 +144,7 @@ public partial class NewCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClien #region Parameter WebhookUrl /// /// - /// URL for the Chime webhook. + /// The URL for the Amazon Chime webhook. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs index 54dfd43f53..f4d9e7217b 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Creates MS Teams Channel Configuration + /// Creates an AWS Chatbot configuration for Microsoft Teams. /// [Cmdlet("New", "CHATMicrosoftTeamsChannelConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Chatbot.Model.TeamsChannelConfiguration")] @@ -40,12 +40,16 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ChannelId /// /// - /// The ID of the Microsoft Teams channel. + /// The ID of the Microsoft Teams channel. /// /// #if !MODULAR @@ -62,7 +66,7 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter ChannelName /// /// - /// The name of the Microsoft Teams channel. + /// The name of the Microsoft Teams channel. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -72,7 +76,7 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter ConfigurationName /// /// - /// The name of the configuration. + /// The name of the configuration. /// /// #if !MODULAR @@ -89,9 +93,8 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter GuardrailPolicyArn /// /// - /// The list of IAM policy ARNs that are - /// applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied - /// by default if this is not set. + /// The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed + /// AdministratorAccess policy is applied by default if this is not set. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -102,9 +105,8 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter IamRoleArn /// /// - /// The ARN of the IAM role that defines the permissions - /// for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is - /// not the service-linked role. For more information, see IAM Policies for AWS Chatbot. + /// A user-defined role that AWS Chatbot assumes. This is not the service-linked role.For more information, see IAM + /// policies for AWS Chatbot in the AWS Chatbot Administrator Guide. /// /// #if !MODULAR @@ -121,7 +123,7 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter LoggingLevel /// /// - /// Logging levels include ERROR, INFO, or NONE. + /// Logging levels include ERROR, INFO, or NONE. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -131,8 +133,8 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter SnsTopicArn /// /// - /// The ARNs of the SNS topics that deliver notifications - /// to AWS Chatbot. + /// The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS + /// Chatbot. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -143,7 +145,8 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter Tag /// /// - /// A list of tags to apply to the configuration. + /// A map of tags assigned to a resource. A tag is a string-to-string map of key-value + /// pairs. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -154,11 +157,11 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter TeamId /// /// - /// The ID of the Microsoft Team authorized with AWS - /// Chatbot. To get the team ID, you must perform the initial authorization flow with - /// Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID - /// from the console. For more details, see steps 1-4 in Get started with Microsoft Teams - /// in the AWS Chatbot Administrator Guide. + /// The ID of the Microsoft Teams authorized with AWS Chatbot.To get the team ID, you must perform the initial authorization flow with Microsoft + /// Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the + /// console. For more information, see Step + /// 1: Configure a Microsoft Teams client in the AWS Chatbot Administrator Guide. + /// /// /// #if !MODULAR @@ -175,7 +178,7 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter TeamName /// /// - /// The name of the Microsoft Teams Team. + /// The name of the Microsoft Teams Team. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -185,7 +188,7 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter TenantId /// /// - /// The ID of the Microsoft Teams tenant. + /// The ID of the Microsoft Teams tenant. /// /// #if !MODULAR @@ -202,8 +205,7 @@ public partial class NewCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonCha #region Parameter UserAuthorizationRequired /// /// - /// Enables use of a user role requirement - /// in your chat configuration. + /// Enables use of a user role requirement in your chat configuration. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATSlackChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATSlackChannelConfiguration-Cmdlet.cs index 41920e1562..e5b0ba7577 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATSlackChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/New-CHATSlackChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Creates Slack Channel Configuration + /// Creates an AWS Chatbot confugration for Slack. /// [Cmdlet("New", "CHATSlackChannelConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Chatbot.Model.SlackChannelConfiguration")] @@ -40,12 +40,16 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ConfigurationName /// /// - /// The name of the configuration. + /// The name of the configuration. /// /// #if !MODULAR @@ -62,9 +66,8 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter GuardrailPolicyArn /// /// - /// The list of IAM policy ARNs that are - /// applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied - /// by default if this is not set. + /// The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed + /// AdministratorAccess policy is applied by default if this is not set. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -75,9 +78,8 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter IamRoleArn /// /// - /// The ARN of the IAM role that defines the permissions - /// for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is - /// not the service-linked role. For more information, see IAM Policies for AWS Chatbot. + /// A user-defined role that AWS Chatbot assumes. This is not the service-linked role.For more information, see IAM + /// policies for AWS Chatbot in the AWS Chatbot Administrator Guide. /// /// #if !MODULAR @@ -94,7 +96,7 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter LoggingLevel /// /// - /// Logging levels include ERROR, INFO, or NONE. + /// Logging levels include ERROR, INFO, or NONE. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -104,10 +106,9 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter SlackChannelId /// /// - /// The ID of the Slack channel. To get the - /// ID, open Slack, right click on the channel name in the left pane, then choose Copy - /// Link. The channel ID is the 9-character string at the end of the URL. For example, - /// ABCBBLZZZ. + /// The ID of the Slack channel.To get this ID, open Slack, right click on the channel name in the left pane, then + /// choose Copy Link. The channel ID is the 9-character string at the end of the URL. + /// For example, ABCBBLZZZ. /// /// #if !MODULAR @@ -124,7 +125,7 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter SlackChannelName /// /// - /// The name of the Slack Channel. + /// The name of the Slack channel. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -134,8 +135,7 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter SlackTeamId /// /// - /// The ID of the Slack workspace authorized with - /// AWS Chatbot. + /// The ID of the Slack workspace authorized with AWS Chatbot. /// /// #if !MODULAR @@ -152,8 +152,8 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter SnsTopicArn /// /// - /// The ARNs of the SNS topics that deliver notifications - /// to AWS Chatbot. + /// The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS + /// Chatbot. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -164,7 +164,8 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter Tag /// /// - /// A list of tags to apply to the configuration. + /// A map of tags assigned to a resource. A tag is a string-to-string map of key-value + /// pairs. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -175,8 +176,7 @@ public partial class NewCHATSlackChannelConfigurationCmdlet : AmazonChatbotClien #region Parameter UserAuthorizationRequired /// /// - /// Enables use of a user role requirement - /// in your chat configuration. + /// Enables use of a user role requirement in your chat configuration. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATChimeWebhookConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATChimeWebhookConfiguration-Cmdlet.cs index 368437013a..a824fd400d 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATChimeWebhookConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATChimeWebhookConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Deletes a Chime Webhook Configuration + /// Deletes a Amazon Chime webhook configuration for AWS Chatbot. /// [Cmdlet("Remove", "CHATChimeWebhookConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -45,8 +45,7 @@ public partial class RemoveCHATChimeWebhookConfigurationCmdlet : AmazonChatbotCl #region Parameter ChatConfigurationArn /// /// - /// The ARN of the ChimeWebhookConfiguration - /// to delete. + /// The Amazon Resource Name (ARN) of the ChimeWebhookConfiguration to delete. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs index cf1c171c02..5611b9f62d 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Deletes MS Teams Channel Configuration + /// Deletes a Microsoft Teams channel configuration for AWS Chatbot /// [Cmdlet("Remove", "CHATMicrosoftTeamsChannelConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -45,8 +45,8 @@ public partial class RemoveCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter ChatConfigurationArn /// /// - /// The ARN of the MicrosoftTeamsChannelConfiguration - /// to delete. + /// The Amazon Resource Name (ARN) of the MicrosoftTeamsChannelConfiguration associated + /// with the user identity to delete. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsConfiguredTeam-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsConfiguredTeam-Cmdlet.cs index 2598e75d2d..8fee76c53d 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsConfiguredTeam-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsConfiguredTeam-Cmdlet.cs @@ -47,11 +47,11 @@ public partial class RemoveCHATMicrosoftTeamsConfiguredTeamCmdlet : AmazonChatbo #region Parameter TeamId /// /// - /// The ID of the Microsoft Team authorized with AWS - /// Chatbot. To get the team ID, you must perform the initial authorization flow with - /// Microsoft Teams in the AWS Chatbot console. Then you can copy and paste the team ID - /// from the console. For more details, see steps 1-4 in Get started with Microsoft Teams - /// in the AWS Chatbot Administrator Guide. + /// The ID of the Microsoft Teams team authorized with AWS Chatbot.To get the team ID, you must perform the initial authorization flow with Microsoft + /// Teams in the AWS Chatbot console. Then you can copy and paste the team ID from the + /// console. For more information, see Step + /// 1: Configure a Microsoft Teams client in the AWS Chatbot Administrator Guide. + /// /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsUserIdentity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsUserIdentity-Cmdlet.cs index 9c34322c61..201ae8dedc 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsUserIdentity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATMicrosoftTeamsUserIdentity-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Deletes a Teams user identity + /// Identifes a user level permission for a channel configuration. /// [Cmdlet("Remove", "CHATMicrosoftTeamsUserIdentity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -45,8 +45,8 @@ public partial class RemoveCHATMicrosoftTeamsUserIdentityCmdlet : AmazonChatbotC #region Parameter ChatConfigurationArn /// /// - /// The ARN of the MicrosoftTeamsChannelConfiguration - /// associated with the user identity to delete. + /// The ARN of the MicrosoftTeamsChannelConfiguration associated with the user identity + /// to delete. /// /// #if !MODULAR @@ -63,7 +63,7 @@ public partial class RemoveCHATMicrosoftTeamsUserIdentityCmdlet : AmazonChatbotC #region Parameter UserId /// /// - /// Id from Microsoft Teams for user. + /// The Microsoft Teams user ID. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATResourceTag-Cmdlet.cs index 5ae8329336..0149f1aeb1 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATResourceTag-Cmdlet.cs @@ -28,7 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Removes the supplied tags from a configuration + /// Detaches a key-value pair from a resource, as identified by its Amazon Resource Name + /// (ARN). Resources are users, servers, roles, and other entities. /// [Cmdlet("Remove", "CHATResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -45,7 +46,8 @@ public partial class RemoveCHATResourceTagCmdlet : AmazonChatbotClientCmdlet, IE #region Parameter ResourceARN /// /// - /// The ARN of the configuration. + /// The value of the resource that will have the tag removed. An Amazon Resource Name + /// (ARN) is an identifier for a specific AWS resource, such as a server, user, or role. /// /// #if !MODULAR @@ -62,7 +64,8 @@ public partial class RemoveCHATResourceTagCmdlet : AmazonChatbotClientCmdlet, IE #region Parameter TagKey /// /// - /// A list of tag keys to remove from the configuration. + /// TagKeys are key-value pairs assigned to ARNs that can be used to group and search + /// for resources by type. This metadata can be attached to resources for any purpose. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackChannelConfiguration-Cmdlet.cs index 196d3a7413..b4e3f0a1ec 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Deletes Slack Channel Configuration + /// Deletes a Slack channel configuration for AWS Chatbot /// [Cmdlet("Remove", "CHATSlackChannelConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -45,8 +45,7 @@ public partial class RemoveCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter ChatConfigurationArn /// /// - /// The ARN of the SlackChannelConfiguration - /// to delete. + /// The Amazon Resource Name (ARN) of the SlackChannelConfiguration to delete. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackUserIdentity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackUserIdentity-Cmdlet.cs index 0f5c38564e..4700a6b335 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackUserIdentity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackUserIdentity-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Deletes a Slack user identity + /// Deletes a user level permission for a Slack channel configuration. /// [Cmdlet("Remove", "CHATSlackUserIdentity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -45,8 +45,7 @@ public partial class RemoveCHATSlackUserIdentityCmdlet : AmazonChatbotClientCmdl #region Parameter ChatConfigurationArn /// /// - /// The ARN of the SlackChannelConfiguration - /// associated with the user identity to delete. + /// The ARN of the SlackChannelConfiguration associated with the user identity to delete. /// /// #if !MODULAR @@ -63,8 +62,7 @@ public partial class RemoveCHATSlackUserIdentityCmdlet : AmazonChatbotClientCmdl #region Parameter SlackTeamId /// /// - /// The ID of the Slack workspace authorized with - /// AWS Chatbot. + /// The ID of the Slack workspace authorized with AWS Chatbot. /// /// #if !MODULAR @@ -81,7 +79,7 @@ public partial class RemoveCHATSlackUserIdentityCmdlet : AmazonChatbotClientCmdl #region Parameter SlackUserId /// /// - /// The ID of the user in Slack. + /// The ID of the user in Slack /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackWorkspaceAuthorization-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackWorkspaceAuthorization-Cmdlet.cs index 05d6b6f37a..d49817483b 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackWorkspaceAuthorization-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Remove-CHATSlackWorkspaceAuthorization-Cmdlet.cs @@ -46,8 +46,7 @@ public partial class RemoveCHATSlackWorkspaceAuthorizationCmdlet : AmazonChatbot #region Parameter SlackTeamId /// /// - /// The ID of the Slack workspace authorized with - /// AWS Chatbot. + /// The ID of the Slack workspace authorized with AWS Chatbot. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATAccountPreference-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATAccountPreference-Cmdlet.cs index 3e4c22e721..9ca34bca51 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATAccountPreference-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATAccountPreference-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Update Chatbot account level preferences + /// Updates AWS Chatbot account preferences. /// [Cmdlet("Update", "CHATAccountPreference", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Chatbot.Model.AccountPreferences")] @@ -45,14 +45,14 @@ public partial class UpdateCHATAccountPreferenceCmdlet : AmazonChatbotClientCmdl #region Parameter TrainingDataCollectionEnabled /// /// - /// Turns on training data collection. - /// This helps improve the AWS Chatbot experience by allowing AWS Chatbot to store and + /// Turns on training data collection.This helps improve the AWS Chatbot experience by allowing AWS Chatbot to store and /// use your customer information, such as AWS Chatbot configurations, notifications, /// user inputs, AWS Chatbot generated responses, and interaction data. This data helps /// us to continuously improve and develop Artificial Intelligence (AI) technologies. /// Your data is not shared with any third parties and is protected using sophisticated /// controls to prevent unauthorized access and misuse. AWS Chatbot does not store or - /// use interactions in chat channels with Amazon Q for training AWS Chatbot’s AI technologies. + /// use interactions in chat channels with Amazon Q for training AI technologies for AWS + /// Chatbot. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -62,8 +62,7 @@ public partial class UpdateCHATAccountPreferenceCmdlet : AmazonChatbotClientCmdl #region Parameter UserAuthorizationRequired /// /// - /// Enables use of a user role requirement - /// in your chat configuration. + /// Enables use of a user role requirement in your chat configuration. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATChimeWebhookConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATChimeWebhookConfiguration-Cmdlet.cs index 16f46081c2..84ce26752e 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATChimeWebhookConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATChimeWebhookConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Updates a Chime Webhook Configuration + /// Updates a Amazon Chime webhook configuration. /// [Cmdlet("Update", "CHATChimeWebhookConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Chatbot.Model.ChimeWebhookConfiguration")] @@ -40,13 +40,16 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class UpdateCHATChimeWebhookConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ChatConfigurationArn /// /// - /// The ARN of the ChimeWebhookConfiguration - /// to update. + /// The Amazon Resource Number (ARN) of the ChimeWebhookConfiguration to update. /// /// #if !MODULAR @@ -63,9 +66,8 @@ public partial class UpdateCHATChimeWebhookConfigurationCmdlet : AmazonChatbotCl #region Parameter IamRoleArn /// /// - /// The ARN of the IAM role that defines the permissions - /// for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is - /// not the service-linked role. For more information, see IAM Policies for AWS Chatbot. + /// A user-defined role that AWS Chatbot assumes. This is not the service-linked role.For more information, see IAM + /// policies for AWS Chatbot in the AWS Chatbot Administrator Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -75,7 +77,7 @@ public partial class UpdateCHATChimeWebhookConfigurationCmdlet : AmazonChatbotCl #region Parameter LoggingLevel /// /// - /// Logging levels include ERROR, INFO, or NONE. + /// Logging levels include ERROR, INFO, or NONE. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -85,8 +87,7 @@ public partial class UpdateCHATChimeWebhookConfigurationCmdlet : AmazonChatbotCl #region Parameter SnsTopicArn /// /// - /// The ARNs of the SNS topics that deliver notifications - /// to AWS Chatbot. + /// The ARNs of the SNS topics that deliver notifications to AWS Chatbot. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -97,9 +98,9 @@ public partial class UpdateCHATChimeWebhookConfigurationCmdlet : AmazonChatbotCl #region Parameter WebhookDescription /// /// - /// Description of the webhook. Recommend - /// using the convention `RoomName/WebhookName`. See Chime setup tutorial for more details: - /// https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html. + /// A description of the webhook. We recommend using the convention RoomName/WebhookName.For more information, see Tutorial: + /// Get started with Amazon Chime in the AWS Chatbot Administrator Guide. + /// /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -109,7 +110,7 @@ public partial class UpdateCHATChimeWebhookConfigurationCmdlet : AmazonChatbotCl #region Parameter WebhookUrl /// /// - /// URL for the Chime webhook. + /// The URL for the Amazon Chime webhook. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs index 2bb416f480..7151018a93 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATMicrosoftTeamsChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Updates MS Teams Channel Configuration + /// Updates an Microsoft Teams channel configuration. /// [Cmdlet("Update", "CHATMicrosoftTeamsChannelConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Chatbot.Model.TeamsChannelConfiguration")] @@ -40,12 +40,16 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ChannelId /// /// - /// The ID of the Microsoft Teams channel. + /// The ID of the Microsoft Teams channel. /// /// #if !MODULAR @@ -62,7 +66,7 @@ public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter ChannelName /// /// - /// The name of the Microsoft Teams channel. + /// The name of the Microsoft Teams channel. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -72,8 +76,7 @@ public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter ChatConfigurationArn /// /// - /// The ARN of the MicrosoftTeamsChannelConfiguration - /// to update. + /// The Amazon Resource Number (ARN) of the TeamsChannelConfiguration to update. /// /// #if !MODULAR @@ -90,9 +93,8 @@ public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter GuardrailPolicyArn /// /// - /// The list of IAM policy ARNs that are - /// applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied - /// by default if this is not set. + /// The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed + /// AdministratorAccess policy is applied by default if this is not set. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -103,9 +105,8 @@ public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter IamRoleArn /// /// - /// The ARN of the IAM role that defines the permissions - /// for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is - /// not the service-linked role. For more information, see IAM Policies for AWS Chatbot. + /// A user-defined role that AWS Chatbot assumes. This is not the service-linked role.For more information, see IAM + /// policies for AWS Chatbot in the AWS Chatbot Administrator Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -115,7 +116,7 @@ public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter LoggingLevel /// /// - /// Logging levels include ERROR, INFO, or NONE. + /// Logging levels include ERROR, INFO, or NONE. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -125,8 +126,8 @@ public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter SnsTopicArn /// /// - /// The ARNs of the SNS topics that deliver notifications - /// to AWS Chatbot. + /// The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS + /// Chatbot. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -137,8 +138,7 @@ public partial class UpdateCHATMicrosoftTeamsChannelConfigurationCmdlet : Amazon #region Parameter UserAuthorizationRequired /// /// - /// Enables use of a user role requirement - /// in your chat configuration. + /// Enables use of a user role requirement in your chat configuration. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATSlackChannelConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATSlackChannelConfiguration-Cmdlet.cs index 0ccdb563ed..b01563e34e 100644 --- a/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATSlackChannelConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chatbot/Basic/Update-CHATSlackChannelConfiguration-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.CHAT { /// - /// Updates Slack Channel Configuration + /// Updates a Slack channel configuration. /// [Cmdlet("Update", "CHATSlackChannelConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Chatbot.Model.SlackChannelConfiguration")] @@ -40,13 +40,16 @@ namespace Amazon.PowerShell.Cmdlets.CHAT public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter ChatConfigurationArn /// /// - /// The ARN of the SlackChannelConfiguration - /// to update. + /// The Amazon Resource Number (ARN) of the SlackChannelConfiguration to update. /// /// #if !MODULAR @@ -63,9 +66,8 @@ public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter GuardrailPolicyArn /// /// - /// The list of IAM policy ARNs that are - /// applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied - /// by default if this is not set. + /// The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed + /// AdministratorAccess policy is applied by default if this is not set. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -76,9 +78,8 @@ public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter IamRoleArn /// /// - /// The ARN of the IAM role that defines the permissions - /// for AWS Chatbot. This is a user-defined role that AWS Chatbot will assume. This is - /// not the service-linked role. For more information, see IAM Policies for AWS Chatbot. + /// A user-defined role that AWS Chatbot assumes. This is not the service-linked role.For more information, see IAM + /// policies for AWS Chatbot in the AWS Chatbot Administrator Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -88,7 +89,7 @@ public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter LoggingLevel /// /// - /// Logging levels include ERROR, INFO, or NONE. + /// Logging levels include ERROR, INFO, or NONE. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -98,10 +99,9 @@ public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter SlackChannelId /// /// - /// The ID of the Slack channel. To get the - /// ID, open Slack, right click on the channel name in the left pane, then choose Copy - /// Link. The channel ID is the 9-character string at the end of the URL. For example, - /// ABCBBLZZZ. + /// The ID of the Slack channel.To get this ID, open Slack, right click on the channel name in the left pane, then + /// choose Copy Link. The channel ID is the 9-character string at the end of the URL. + /// For example, ABCBBLZZZ. /// /// #if !MODULAR @@ -118,7 +118,7 @@ public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter SlackChannelName /// /// - /// The name of the Slack Channel. + /// The name of the Slack channel. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -128,8 +128,8 @@ public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter SnsTopicArn /// /// - /// The ARNs of the SNS topics that deliver notifications - /// to AWS Chatbot. + /// The Amazon Resource Names (ARNs) of the SNS topics that deliver notifications to AWS + /// Chatbot. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -140,8 +140,7 @@ public partial class UpdateCHATSlackChannelConfigurationCmdlet : AmazonChatbotCl #region Parameter UserAuthorizationRequired /// /// - /// Enables use of a user role requirement - /// in your chat configuration. + /// Enables use of a user role requirement in your chat configuration. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Chime/AmazonChimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Chime/AmazonChimeClientCmdlet.cs index bd7d78392a..24fbfb23a3 100644 --- a/modules/AWSPowerShell/Cmdlets/Chime/AmazonChimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Chime/AmazonChimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonChime CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonChimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKIdentity/AmazonChimeSDKIdentityClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKIdentity/AmazonChimeSDKIdentityClientCmdlet.cs index bc0120318e..c569fa01f2 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKIdentity/AmazonChimeSDKIdentityClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKIdentity/AmazonChimeSDKIdentityClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonChimeSDKIdentity CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonChimeSDKIdentityConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKMediaPipelines/AmazonChimeSDKMediaPipelinesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKMediaPipelines/AmazonChimeSDKMediaPipelinesClientCmdlet.cs index cfe61aa2a4..6f2510facc 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKMediaPipelines/AmazonChimeSDKMediaPipelinesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKMediaPipelines/AmazonChimeSDKMediaPipelinesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonChimeSDKMediaPipelines CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonChimeSDKMediaPipelinesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKMeetings/AmazonChimeSDKMeetingsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKMeetings/AmazonChimeSDKMeetingsClientCmdlet.cs index 693daf3152..58363668c3 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKMeetings/AmazonChimeSDKMeetingsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKMeetings/AmazonChimeSDKMeetingsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonChimeSDKMeetings CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonChimeSDKMeetingsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKMessaging/AmazonChimeSDKMessagingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKMessaging/AmazonChimeSDKMessagingClientCmdlet.cs index 14a2d81a71..18c948d0a2 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKMessaging/AmazonChimeSDKMessagingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKMessaging/AmazonChimeSDKMessagingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonChimeSDKMessaging CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonChimeSDKMessagingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/AmazonChimeSDKVoiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/AmazonChimeSDKVoiceClientCmdlet.cs index 6d6c906d03..9379d5bdc7 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/AmazonChimeSDKVoiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/AmazonChimeSDKVoiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonChimeSDKVoice CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonChimeSDKVoiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Confirm-CHMVOE911Address-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Confirm-CHMVOE911Address-Cmdlet.cs index 756af419d6..795db94e7a 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Confirm-CHMVOE911Address-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Confirm-CHMVOE911Address-Cmdlet.cs @@ -85,7 +85,9 @@ public partial class ConfirmCHMVOE911AddressCmdlet : AmazonChimeSDKVoiceClientCm #region Parameter Country /// /// - /// The country in the address being validated. + /// The country in the address being validated as two-letter country code in ISO 3166-1 + /// alpha-2 format, such as US. For more information, see ISO + /// 3166-1 alpha-2 in Wikipedia. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Get-CHMVOVoiceToneAnalysisTask-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Get-CHMVOVoiceToneAnalysisTask-Cmdlet.cs index 205b57f0b1..5726ca759d 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Get-CHMVOVoiceToneAnalysisTask-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Get-CHMVOVoiceToneAnalysisTask-Cmdlet.cs @@ -79,7 +79,7 @@ public partial class GetCHMVOVoiceToneAnalysisTaskCmdlet : AmazonChimeSDKVoiceCl #region Parameter VoiceToneAnalysisTaskId /// /// - /// The ID of the voice tone anlysis task. + /// The ID of the voice tone analysis task. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Write-CHMVOVoiceConnectorStreamingConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Write-CHMVOVoiceConnectorStreamingConfiguration-Cmdlet.cs index 7d7ffeb33a..6f16ab4dce 100644 --- a/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Write-CHMVOVoiceConnectorStreamingConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ChimeSDKVoice/Basic/Write-CHMVOVoiceConnectorStreamingConfiguration-Cmdlet.cs @@ -93,7 +93,7 @@ public partial class WriteCHMVOVoiceConnectorStreamingConfigurationCmdlet : Amaz #region Parameter MediaInsightsConfiguration_Disabled /// /// - /// Denotes the configration as enabled or disabled. + /// Denotes the configuration as enabled or disabled. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/CleanRooms/AmazonCleanRoomsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CleanRooms/AmazonCleanRoomsClientCmdlet.cs index 310dc308ad..44767ce852 100644 --- a/modules/AWSPowerShell/Cmdlets/CleanRooms/AmazonCleanRoomsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CleanRooms/AmazonCleanRoomsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCleanRooms CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCleanRoomsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CleanRoomsML/AmazonCleanRoomsMLClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CleanRoomsML/AmazonCleanRoomsMLClientCmdlet.cs index 363acbd7fd..f8e15dcde2 100644 --- a/modules/AWSPowerShell/Cmdlets/CleanRoomsML/AmazonCleanRoomsMLClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CleanRoomsML/AmazonCleanRoomsMLClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCleanRoomsML CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCleanRoomsMLConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Cloud9/AmazonCloud9ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Cloud9/AmazonCloud9ClientCmdlet.cs index 85ec8d37ef..c9a31f8168 100644 --- a/modules/AWSPowerShell/Cmdlets/Cloud9/AmazonCloud9ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Cloud9/AmazonCloud9ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloud9 CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloud9Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudControlApi/AmazonCloudControlApiClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudControlApi/AmazonCloudControlApiClientCmdlet.cs index d3302fbb82..fa30a3a5a4 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudControlApi/AmazonCloudControlApiClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudControlApi/AmazonCloudControlApiClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudControlApi CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudControlApiConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudDirectory/AmazonCloudDirectoryClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudDirectory/AmazonCloudDirectoryClientCmdlet.cs index fa23141cee..e62c8fa84e 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudDirectory/AmazonCloudDirectoryClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudDirectory/AmazonCloudDirectoryClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudDirectory CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudDirectoryConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudFormation/AmazonCloudFormationClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudFormation/AmazonCloudFormationClientCmdlet.cs index b984550683..b76e5e59a8 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudFormation/AmazonCloudFormationClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudFormation/AmazonCloudFormationClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudFormation CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudFormationConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudFront/AmazonCloudFrontClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudFront/AmazonCloudFrontClientCmdlet.cs index e663fa2c62..76f61c93ec 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudFront/AmazonCloudFrontClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudFront/AmazonCloudFrontClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudFront CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudFrontConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudFrontKeyValueStore/AmazonCloudFrontKeyValueStoreClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudFrontKeyValueStore/AmazonCloudFrontKeyValueStoreClientCmdlet.cs index 8d605ac321..9291303e66 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudFrontKeyValueStore/AmazonCloudFrontKeyValueStoreClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudFrontKeyValueStore/AmazonCloudFrontKeyValueStoreClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudFrontKeyValueStore CreateClient(AWSCredentials credentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudFrontKeyValueStoreConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudHSM/AmazonCloudHSMClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudHSM/AmazonCloudHSMClientCmdlet.cs index 88cbffb02c..2bb303e0ff 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudHSM/AmazonCloudHSMClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudHSM/AmazonCloudHSMClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudHSM CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudHSMConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudHSMV2/AmazonCloudHSMV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudHSMV2/AmazonCloudHSMV2ClientCmdlet.cs index c5ea30883f..b7d532ceeb 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudHSMV2/AmazonCloudHSMV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudHSMV2/AmazonCloudHSMV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudHSMV2 CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudHSMV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudSearch/AmazonCloudSearchClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudSearch/AmazonCloudSearchClientCmdlet.cs index f547211946..375924e6ca 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudSearch/AmazonCloudSearchClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudSearch/AmazonCloudSearchClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudSearch CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudSearchConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudTrail/AmazonCloudTrailClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudTrail/AmazonCloudTrailClientCmdlet.cs index fa344462f0..a669087025 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudTrail/AmazonCloudTrailClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudTrail/AmazonCloudTrailClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudTrail CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudTrailConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Get-CTEventSelector-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Get-CTEventSelector-Cmdlet.cs index 5c462c1a40..587a655ed5 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Get-CTEventSelector-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Get-CTEventSelector-Cmdlet.cs @@ -33,18 +33,22 @@ namespace Amazon.PowerShell.Cmdlets.CT /// ///
    • /// If your event selector includes read-only events, write-only events, or all events. - /// This applies to both management events and data events. + /// This applies to management events, data events, and network activity events. ///
    • /// If your event selector includes management events. ///
    • + /// If your event selector includes network activity events, the event sources for which + /// you are logging network activity events. + ///
    • /// If your event selector includes data events, the resources on which you are logging /// data events. ///
    - /// For more information about logging management and data events, see the following topics - /// in the CloudTrail User Guide: + /// For more information about logging management, data, and network activity events, + /// see the following topics in the CloudTrail User Guide: /// + /// data events
  • Logging + /// network activity events
  • /// [Cmdlet("Get", "CTEventSelector")] [OutputType("Amazon.CloudTrail.Model.GetEventSelectorsResponse")] diff --git a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Start-CTEventDataStoreIngestion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Start-CTEventDataStoreIngestion-Cmdlet.cs index c8c1b1f71b..44886fe1b0 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Start-CTEventDataStoreIngestion-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Start-CTEventDataStoreIngestion-Cmdlet.cs @@ -31,7 +31,7 @@ namespace Amazon.PowerShell.Cmdlets.CT /// Starts the ingestion of live events on an event data store specified as either an /// ARN or the ID portion of the ARN. To start ingestion, the event data store Status /// must be STOPPED_INGESTION and the eventCategory must be Management, - /// Data, or ConfigurationItem. + /// Data, NetworkActivity, or ConfigurationItem. /// [Cmdlet("Start", "CTEventDataStoreIngestion", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Stop-CTEventDataStoreIngestion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Stop-CTEventDataStoreIngestion-Cmdlet.cs index 2a276a9e10..d5d0543fc3 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Stop-CTEventDataStoreIngestion-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Stop-CTEventDataStoreIngestion-Cmdlet.cs @@ -31,7 +31,7 @@ namespace Amazon.PowerShell.Cmdlets.CT /// Stops the ingestion of live events on an event data store specified as either an ARN /// or the ID portion of the ARN. To stop ingestion, the event data store Status /// must be ENABLED and the eventCategory must be Management, Data, - /// or ConfigurationItem. + /// NetworkActivity, or ConfigurationItem. /// [Cmdlet("Stop", "CTEventDataStoreIngestion", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Update-CTEventDataStore-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Update-CTEventDataStore-Cmdlet.cs index 9708383dca..adebefa46c 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Update-CTEventDataStore-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Update-CTEventDataStore-Cmdlet.cs @@ -39,8 +39,8 @@ namespace Amazon.PowerShell.Cmdlets.CT /// /// /// For event data stores for CloudTrail events, AdvancedEventSelectors includes - /// or excludes management or data events in your event data store. For more information - /// about AdvancedEventSelectors, see AdvancedEventSelectors. + /// or excludes management, data, or network activity events in your event data store. + /// For more information about AdvancedEventSelectors, see AdvancedEventSelectors. /// /// For event data stores for CloudTrail Insights events, Config configuration items, /// Audit Manager evidence, or non-Amazon Web Services events, AdvancedEventSelectors diff --git a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Write-CTEventSelector-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Write-CTEventSelector-Cmdlet.cs index 9675c8b614..792bbe61ba 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Write-CTEventSelector-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudTrail/Basic/Write-CTEventSelector-Cmdlet.cs @@ -28,17 +28,28 @@ namespace Amazon.PowerShell.Cmdlets.CT { /// - /// Configures an event selector or advanced event selectors for your trail. Use event - /// selectors or advanced event selectors to specify management and data event settings - /// for your trail. If you want your trail to log Insights events, be sure the event selector - /// enables logging of the Insights event types you want configured for your trail. For - /// more information about logging Insights events, see Logging - /// Insights events in the CloudTrail User Guide. By default, trails created - /// without specific event selectors are configured to log all read and write management - /// events, and no data events. + /// Configures event selectors (also referred to as basic event selectors) or advanced + /// event selectors for your trail. You can use either AdvancedEventSelectors or + /// EventSelectors, but not both. If you apply AdvancedEventSelectors to + /// a trail, any existing EventSelectors are overwritten. /// /// /// + /// You can use AdvancedEventSelectors to log management events, data events for + /// all resource types, and network activity events. + /// + /// You can use EventSelectors to log management events and data events for the + /// following resource types: + ///
    • AWS::DynamoDB::Table
    • AWS::Lambda::Function
    • AWS::S3::Object
    + /// You can't use EventSelectors to log network activity events. + /// + /// If you want your trail to log Insights events, be sure the event selector or advanced + /// event selector enables logging of the Insights event types you want configured for + /// your trail. For more information about logging Insights events, see Logging + /// Insights events in the CloudTrail User Guide. By default, trails created + /// without specific event selectors are configured to log all read and write management + /// events, and no data events or network activity events. + /// /// When an event occurs in your account, CloudTrail evaluates the event selectors or /// advanced event selectors in all trails. For each trail, if the event matches any event /// selector, the trail processes and logs the event. If the event doesn't match any event @@ -46,7 +57,8 @@ namespace Amazon.PowerShell.Cmdlets.CT /// /// Example ///
    1. - /// You create an event selector for a trail and specify that you want write-only events. + /// You create an event selector for a trail and specify that you want to log write-only + /// events. ///
    2. /// The EC2 GetConsoleOutput and RunInstances API operations occur in your /// account. @@ -62,18 +74,15 @@ namespace Amazon.PowerShell.Cmdlets.CT /// The PutEventSelectors operation must be called from the Region in which the /// trail was created; otherwise, an InvalidHomeRegionException exception is thrown. /// - /// You can configure up to five event selectors for each trail. For more information, - /// see Logging - /// management events, Logging - /// data events, and Quotas - /// in CloudTrail in the CloudTrail User Guide. + /// You can configure up to five event selectors for each trail. /// /// You can add advanced event selectors, and conditions for your advanced event selectors, - /// up to a maximum of 500 values for all conditions and selectors on a trail. You can - /// use either AdvancedEventSelectors or EventSelectors, but not both. If - /// you apply AdvancedEventSelectors to a trail, any existing EventSelectors - /// are overwritten. For more information about advanced event selectors, see Logging - /// data events in the CloudTrail User Guide. + /// up to a maximum of 500 values for all conditions and selectors on a trail. For more + /// information, see Logging + /// management events, Logging + /// data events, Logging + /// network activity events, and Quotas + /// in CloudTrail in the CloudTrail User Guide. /// ///
    [Cmdlet("Write", "CTEventSelector", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -90,13 +99,15 @@ public partial class WriteCTEventSelectorCmdlet : AmazonCloudTrailClientCmdlet, #region Parameter AdvancedEventSelector /// /// - /// Specifies the settings for advanced event selectors. You can add advanced event selectors, - /// and conditions for your advanced event selectors, up to a maximum of 500 values for - /// all conditions and selectors on a trail. You can use either AdvancedEventSelectors - /// or EventSelectors, but not both. If you apply AdvancedEventSelectors - /// to a trail, any existing EventSelectors are overwritten. For more information - /// about advanced event selectors, see Logging - /// data events in the CloudTrail User Guide. + /// Specifies the settings for advanced event selectors. You can use advanced event selectors + /// to log management events, data events for all resource types, and network activity + /// events.You can add advanced event selectors, and conditions for your advanced event selectors, + /// up to a maximum of 500 values for all conditions and selectors on a trail. You can + /// use either AdvancedEventSelectors or EventSelectors, but not both. If + /// you apply AdvancedEventSelectors to a trail, any existing EventSelectors + /// are overwritten. For more information about advanced event selectors, see Logging + /// data events and Logging + /// network activity events in the CloudTrail User Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -107,10 +118,11 @@ public partial class WriteCTEventSelectorCmdlet : AmazonCloudTrailClientCmdlet, #region Parameter EventSelector /// /// - /// Specifies the settings for your event selectors. You can configure up to five event - /// selectors for a trail. You can use either EventSelectors or AdvancedEventSelectors - /// in a PutEventSelectors request, but not both. If you apply EventSelectors - /// to a trail, any existing AdvancedEventSelectors are overwritten. + /// Specifies the settings for your event selectors. You can use event selectors to log + /// management events and data events for the following resource types:
    • AWS::DynamoDB::Table
    • AWS::Lambda::Function
    • AWS::S3::Object
    You can't use event selectors to log network activity events.You can configure up to five event selectors for a trail. You can use either EventSelectors + /// or AdvancedEventSelectors in a PutEventSelectors request, but not both. + /// If you apply EventSelectors to a trail, any existing AdvancedEventSelectors + /// are overwritten. ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/CloudTrailData/AmazonCloudTrailDataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudTrailData/AmazonCloudTrailDataClientCmdlet.cs index e4aa9c3868..b0cbb68422 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudTrailData/AmazonCloudTrailDataClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudTrailData/AmazonCloudTrailDataClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudTrailData CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudTrailDataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatch/AmazonCloudWatchClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatch/AmazonCloudWatchClientCmdlet.cs index 1093fdc1bd..dd7adcd691 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatch/AmazonCloudWatchClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatch/AmazonCloudWatchClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudWatch CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudWatchConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchEvents/AmazonCloudWatchEventsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchEvents/AmazonCloudWatchEventsClientCmdlet.cs index 292f555f76..57ce5c7fdc 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchEvents/AmazonCloudWatchEventsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchEvents/AmazonCloudWatchEventsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudWatchEvents CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudWatchEventsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchEvidently/AmazonCloudWatchEvidentlyClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchEvidently/AmazonCloudWatchEvidentlyClientCmdlet.cs index 1e2d59e00b..f5aa6d3ecc 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchEvidently/AmazonCloudWatchEvidentlyClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchEvidently/AmazonCloudWatchEvidentlyClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudWatchEvidently CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudWatchEvidentlyConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.Completers.psm1 index 5cf93cacea..b63bea1742 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.Completers.psm1 @@ -270,6 +270,7 @@ $CWL_SelectMap = @{ "Remove-CWLRetentionPolicy", "Remove-CWLSubscriptionFilter", "Get-CWLAccountPolicy", + "Find-CWLConfigurationTemplate", "Find-CWLDelivery", "Find-CWLDeliveryDestination", "Find-CWLDeliverySource", @@ -320,6 +321,7 @@ $CWL_SelectMap = @{ "Remove-CWLLogGroupTag", "Remove-CWLResourceTag", "Update-CWLAnomaly", + "Update-CWLDeliveryConfiguration", "Update-CWLLogAnomalyDetector") } diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.psd1 b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.psd1 index ff9307daeb..608047a4ca 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.psd1 +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AWS.Tools.CloudWatchLogs.psd1 @@ -88,6 +88,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 CmdletsToExport = @( 'Add-CWLLogGroupTag', 'Add-CWLResourceTag', + 'Find-CWLConfigurationTemplate', 'Find-CWLDelivery', 'Find-CWLDeliveryDestination', 'Find-CWLDeliverySource', @@ -146,6 +147,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Test-CWLMetricFilter', 'Unregister-CWLKmsKey', 'Update-CWLAnomaly', + 'Update-CWLDeliveryConfiguration', 'Update-CWLLogAnomalyDetector', 'Write-CWLAccountPolicy', 'Write-CWLDataProtectionPolicy', diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AmazonCloudWatchLogsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AmazonCloudWatchLogsClientCmdlet.cs index 589b793cd8..5691a1f0f7 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AmazonCloudWatchLogsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/AmazonCloudWatchLogsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudWatchLogs CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudWatchLogsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Find-CWLConfigurationTemplate-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Find-CWLConfigurationTemplate-Cmdlet.cs new file mode 100644 index 0000000000..d880c286e4 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Find-CWLConfigurationTemplate-Cmdlet.cs @@ -0,0 +1,326 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.CloudWatchLogs; +using Amazon.CloudWatchLogs.Model; + +namespace Amazon.PowerShell.Cmdlets.CWL +{ + /// + /// Use this operation to return the valid and default values that are used when creating + /// delivery sources, delivery destinations, and deliveries. For more information about + /// deliveries, see CreateDelivery.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Find", "CWLConfigurationTemplate")] + [OutputType("Amazon.CloudWatchLogs.Model.ConfigurationTemplate")] + [AWSCmdlet("Calls the Amazon CloudWatch Logs DescribeConfigurationTemplates API operation.", Operation = new[] {"DescribeConfigurationTemplates"}, SelectReturnType = typeof(Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesResponse))] + [AWSCmdletOutput("Amazon.CloudWatchLogs.Model.ConfigurationTemplate or Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesResponse", + "This cmdlet returns a collection of Amazon.CloudWatchLogs.Model.ConfigurationTemplate objects.", + "The service call response (type Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class FindCWLConfigurationTemplateCmdlet : AmazonCloudWatchLogsClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DeliveryDestinationType + /// + /// + /// Use this parameter to filter the response to include only the configuration templates + /// that apply to the delivery destination types that you specify here. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DeliveryDestinationTypes")] + public System.String[] DeliveryDestinationType { get; set; } + #endregion + + #region Parameter LogType + /// + /// + /// Use this parameter to filter the response to include only the configuration templates + /// that apply to the log types that you specify here. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("LogTypes")] + public System.String[] LogType { get; set; } + #endregion + + #region Parameter ResourceType + /// + /// + /// Use this parameter to filter the response to include only the configuration templates + /// that apply to the resource types that you specify here. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("ResourceTypes")] + public System.String[] ResourceType { get; set; } + #endregion + + #region Parameter Service + /// + /// + /// Use this parameter to filter the response to include only the configuration templates + /// that apply to the Amazon Web Services service that you specify here. + /// + /// + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + public System.String Service { get; set; } + #endregion + + #region Parameter Limit + /// + /// + /// Use this parameter to limit the number of configuration templates that are returned + /// in the response. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Int32? Limit { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The service has not provided documentation for this parameter; please refer to the service's API reference documentation for the latest available information. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'ConfigurationTemplates'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesResponse). + /// Specifying the name of a property of type Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "ConfigurationTemplates"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Service parameter. + /// The -PassThru parameter is deprecated, use -Select '^Service' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Service' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.Service; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.DeliveryDestinationType != null) + { + context.DeliveryDestinationType = new List(this.DeliveryDestinationType); + } + context.Limit = this.Limit; + if (this.LogType != null) + { + context.LogType = new List(this.LogType); + } + context.NextToken = this.NextToken; + if (this.ResourceType != null) + { + context.ResourceType = new List(this.ResourceType); + } + context.Service = this.Service; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesRequest(); + + if (cmdletContext.DeliveryDestinationType != null) + { + request.DeliveryDestinationTypes = cmdletContext.DeliveryDestinationType; + } + if (cmdletContext.Limit != null) + { + request.Limit = cmdletContext.Limit.Value; + } + if (cmdletContext.LogType != null) + { + request.LogTypes = cmdletContext.LogType; + } + if (cmdletContext.ResourceType != null) + { + request.ResourceTypes = cmdletContext.ResourceType; + } + if (cmdletContext.Service != null) + { + request.Service = cmdletContext.Service; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesResponse CallAWSServiceOperation(IAmazonCloudWatchLogs client, Amazon.CloudWatchLogs.Model.DescribeConfigurationTemplatesRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon CloudWatch Logs", "DescribeConfigurationTemplates"); + try + { + #if DESKTOP + return client.DescribeConfigurationTemplates(request); + #elif CORECLR + return client.DescribeConfigurationTemplatesAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List DeliveryDestinationType { get; set; } + public System.Int32? Limit { get; set; } + public List LogType { get; set; } + public System.String NextToken { get; set; } + public List ResourceType { get; set; } + public System.String Service { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ConfigurationTemplates; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Get-CWLFilteredLogEvent-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Get-CWLFilteredLogEvent-Cmdlet.cs index 17ae74ad24..132a10969c 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Get-CWLFilteredLogEvent-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Get-CWLFilteredLogEvent-Cmdlet.cs @@ -116,8 +116,7 @@ public partial class GetCWLFilteredLogEventCmdlet : AmazonCloudWatchLogsClientCm /// /// Filters the results to include only events from log streams that have names starting /// with this prefix.If you specify a value for both logStreamNamePrefix and logStreamNames, - /// but the value for logStreamNamePrefix does not match any log stream names specified - /// in logStreamNames, the action returns an InvalidParameterException error. + /// the action returns an InvalidParameterException error. ///
    /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -127,7 +126,7 @@ public partial class GetCWLFilteredLogEventCmdlet : AmazonCloudWatchLogsClientCm #region Parameter LogStreamName /// /// - /// Filters the results to only logs from the log streams in this list.If you specify a value for both logStreamNamePrefix and logStreamNames, + /// Filters the results to only logs from the log streams in this list.If you specify a value for both logStreamNames and logStreamNamePrefix, /// the action returns an InvalidParameterException error. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/New-CWLDelivery-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/New-CWLDelivery-Cmdlet.cs index 1423227aea..8732b711cc 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/New-CWLDelivery-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/New-CWLDelivery-Cmdlet.cs @@ -109,6 +109,53 @@ public partial class NewCWLDeliveryCmdlet : AmazonCloudWatchLogsClientCmdlet, IE public System.String DeliverySourceName { get; set; } #endregion + #region Parameter S3DeliveryConfiguration_EnableHiveCompatiblePath + /// + /// + /// This parameter causes the S3 objects that contain delivered logs to use a prefix structure + /// that allows for integration with Apache Hive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? S3DeliveryConfiguration_EnableHiveCompatiblePath { get; set; } + #endregion + + #region Parameter FieldDelimiter + /// + /// + /// The field delimiter to use between record fields when the final output format of a + /// delivery is in Plain, W3C, or Raw format. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String FieldDelimiter { get; set; } + #endregion + + #region Parameter RecordField + /// + /// + /// The list of record fields to be delivered to the destination, in order. If the delivery’s + /// log source has mandatory fields, they must be included in this list. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RecordFields")] + public System.String[] RecordField { get; set; } + #endregion + + #region Parameter S3DeliveryConfiguration_SuffixPath + /// + /// + /// This string allows re-configuring the S3 object prefix to contain either static or + /// variable sections. The valid variables to use in the suffix path will vary by each + /// log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what + /// values are supported in the suffix path for each log source. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String S3DeliveryConfiguration_SuffixPath { get; set; } + #endregion + #region Parameter Tag /// /// @@ -177,6 +224,13 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter DeliverySourceName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.FieldDelimiter = this.FieldDelimiter; + if (this.RecordField != null) + { + context.RecordField = new List(this.RecordField); + } + context.S3DeliveryConfiguration_EnableHiveCompatiblePath = this.S3DeliveryConfiguration_EnableHiveCompatiblePath; + context.S3DeliveryConfiguration_SuffixPath = this.S3DeliveryConfiguration_SuffixPath; if (this.Tag != null) { context.Tag = new Dictionary(StringComparer.Ordinal); @@ -209,6 +263,43 @@ public object Execute(ExecutorContext context) { request.DeliverySourceName = cmdletContext.DeliverySourceName; } + if (cmdletContext.FieldDelimiter != null) + { + request.FieldDelimiter = cmdletContext.FieldDelimiter; + } + if (cmdletContext.RecordField != null) + { + request.RecordFields = cmdletContext.RecordField; + } + + // populate S3DeliveryConfiguration + var requestS3DeliveryConfigurationIsNull = true; + request.S3DeliveryConfiguration = new Amazon.CloudWatchLogs.Model.S3DeliveryConfiguration(); + System.Boolean? requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath = null; + if (cmdletContext.S3DeliveryConfiguration_EnableHiveCompatiblePath != null) + { + requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath = cmdletContext.S3DeliveryConfiguration_EnableHiveCompatiblePath.Value; + } + if (requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath != null) + { + request.S3DeliveryConfiguration.EnableHiveCompatiblePath = requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath.Value; + requestS3DeliveryConfigurationIsNull = false; + } + System.String requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath = null; + if (cmdletContext.S3DeliveryConfiguration_SuffixPath != null) + { + requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath = cmdletContext.S3DeliveryConfiguration_SuffixPath; + } + if (requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath != null) + { + request.S3DeliveryConfiguration.SuffixPath = requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath; + requestS3DeliveryConfigurationIsNull = false; + } + // determine if request.S3DeliveryConfiguration should be set to null + if (requestS3DeliveryConfigurationIsNull) + { + request.S3DeliveryConfiguration = null; + } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; @@ -276,6 +367,10 @@ internal partial class CmdletContext : ExecutorContext { public System.String DeliveryDestinationArn { get; set; } public System.String DeliverySourceName { get; set; } + public System.String FieldDelimiter { get; set; } + public List RecordField { get; set; } + public System.Boolean? S3DeliveryConfiguration_EnableHiveCompatiblePath { get; set; } + public System.String S3DeliveryConfiguration_SuffixPath { get; set; } public Dictionary Tag { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.Delivery; diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Start-CWLLiveTail-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Start-CWLLiveTail-Cmdlet.cs index 1fc052d405..2c01c3e0e0 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Start-CWLLiveTail-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Start-CWLLiveTail-Cmdlet.cs @@ -58,10 +58,10 @@ namespace Amazon.PowerShell.Cmdlets.CWL /// Logs buffers up to 10 LiveTailSessionUpdate events or 5000 log events, after /// which it starts dropping the oldest events. ///
  • - /// A SessionStreamingException + /// A SessionStreamingException /// object is returned if an unknown error occurs on the server side. ///
  • - /// A SessionTimeoutException + /// A SessionTimeoutException /// object is returned when the session times out, after it has been kept open for three /// hours. ///
  • diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Update-CWLDeliveryConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Update-CWLDeliveryConfiguration-Cmdlet.cs new file mode 100644 index 0000000000..fc03cd2923 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Update-CWLDeliveryConfiguration-Cmdlet.cs @@ -0,0 +1,314 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.CloudWatchLogs; +using Amazon.CloudWatchLogs.Model; + +namespace Amazon.PowerShell.Cmdlets.CWL +{ + /// + /// Use this operation to update the configuration of a delivery + /// to change either the S3 path pattern or the format of the delivered logs. You can't + /// use this operation to change the source or destination of the delivery. + /// + [Cmdlet("Update", "CWLDeliveryConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the Amazon CloudWatch Logs UpdateDeliveryConfiguration API operation.", Operation = new[] {"UpdateDeliveryConfiguration"}, SelectReturnType = typeof(Amazon.CloudWatchLogs.Model.UpdateDeliveryConfigurationResponse))] + [AWSCmdletOutput("None or Amazon.CloudWatchLogs.Model.UpdateDeliveryConfigurationResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.CloudWatchLogs.Model.UpdateDeliveryConfigurationResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateCWLDeliveryConfigurationCmdlet : AmazonCloudWatchLogsClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter S3DeliveryConfiguration_EnableHiveCompatiblePath + /// + /// + /// This parameter causes the S3 objects that contain delivered logs to use a prefix structure + /// that allows for integration with Apache Hive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? S3DeliveryConfiguration_EnableHiveCompatiblePath { get; set; } + #endregion + + #region Parameter FieldDelimiter + /// + /// + /// The field delimiter to use between record fields when the final output format of a + /// delivery is in Plain, W3C, or Raw format. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String FieldDelimiter { get; set; } + #endregion + + #region Parameter Id + /// + /// + /// The ID of the delivery to be updated by this request. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String Id { get; set; } + #endregion + + #region Parameter RecordField + /// + /// + /// The list of record fields to be delivered to the destination, in order. If the delivery’s + /// log source has mandatory fields, they must be included in this list. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("RecordFields")] + public System.String[] RecordField { get; set; } + #endregion + + #region Parameter S3DeliveryConfiguration_SuffixPath + /// + /// + /// This string allows re-configuring the S3 object prefix to contain either static or + /// variable sections. The valid variables to use in the suffix path will vary by each + /// log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what + /// values are supported in the suffix path for each log source. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String S3DeliveryConfiguration_SuffixPath { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.CloudWatchLogs.Model.UpdateDeliveryConfigurationResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Id parameter. + /// The -PassThru parameter is deprecated, use -Select '^Id' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Id' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.Id), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-CWLDeliveryConfiguration (UpdateDeliveryConfiguration)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.Id; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.FieldDelimiter = this.FieldDelimiter; + context.Id = this.Id; + #if MODULAR + if (this.Id == null && ParameterWasBound(nameof(this.Id))) + { + WriteWarning("You are passing $null as a value for parameter Id which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.RecordField != null) + { + context.RecordField = new List(this.RecordField); + } + context.S3DeliveryConfiguration_EnableHiveCompatiblePath = this.S3DeliveryConfiguration_EnableHiveCompatiblePath; + context.S3DeliveryConfiguration_SuffixPath = this.S3DeliveryConfiguration_SuffixPath; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.CloudWatchLogs.Model.UpdateDeliveryConfigurationRequest(); + + if (cmdletContext.FieldDelimiter != null) + { + request.FieldDelimiter = cmdletContext.FieldDelimiter; + } + if (cmdletContext.Id != null) + { + request.Id = cmdletContext.Id; + } + if (cmdletContext.RecordField != null) + { + request.RecordFields = cmdletContext.RecordField; + } + + // populate S3DeliveryConfiguration + var requestS3DeliveryConfigurationIsNull = true; + request.S3DeliveryConfiguration = new Amazon.CloudWatchLogs.Model.S3DeliveryConfiguration(); + System.Boolean? requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath = null; + if (cmdletContext.S3DeliveryConfiguration_EnableHiveCompatiblePath != null) + { + requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath = cmdletContext.S3DeliveryConfiguration_EnableHiveCompatiblePath.Value; + } + if (requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath != null) + { + request.S3DeliveryConfiguration.EnableHiveCompatiblePath = requestS3DeliveryConfiguration_s3DeliveryConfiguration_EnableHiveCompatiblePath.Value; + requestS3DeliveryConfigurationIsNull = false; + } + System.String requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath = null; + if (cmdletContext.S3DeliveryConfiguration_SuffixPath != null) + { + requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath = cmdletContext.S3DeliveryConfiguration_SuffixPath; + } + if (requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath != null) + { + request.S3DeliveryConfiguration.SuffixPath = requestS3DeliveryConfiguration_s3DeliveryConfiguration_SuffixPath; + requestS3DeliveryConfigurationIsNull = false; + } + // determine if request.S3DeliveryConfiguration should be set to null + if (requestS3DeliveryConfigurationIsNull) + { + request.S3DeliveryConfiguration = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.CloudWatchLogs.Model.UpdateDeliveryConfigurationResponse CallAWSServiceOperation(IAmazonCloudWatchLogs client, Amazon.CloudWatchLogs.Model.UpdateDeliveryConfigurationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon CloudWatch Logs", "UpdateDeliveryConfiguration"); + try + { + #if DESKTOP + return client.UpdateDeliveryConfiguration(request); + #elif CORECLR + return client.UpdateDeliveryConfigurationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String FieldDelimiter { get; set; } + public System.String Id { get; set; } + public List RecordField { get; set; } + public System.Boolean? S3DeliveryConfiguration_EnableHiveCompatiblePath { get; set; } + public System.String S3DeliveryConfiguration_SuffixPath { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLAccountPolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLAccountPolicy-Cmdlet.cs index 422770f790..d0e20c0349 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLAccountPolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLAccountPolicy-Cmdlet.cs @@ -93,10 +93,10 @@ namespace Amazon.PowerShell.Cmdlets.CWL /// for cross-account delivery. Kinesis Data Streams and Firehose are supported as logical /// destinations. /// - /// Each account can have one account-level subscription filter policy. If you are updating - /// an existing filter, you must specify the correct name in PolicyName. To perform - /// a PutAccountPolicy subscription filter operation for any destination except - /// a Lambda function, you must also have the iam:PassRole permission. + /// Each account can have one account-level subscription filter policy per Region. If + /// you are updating an existing filter, you must specify the correct name in PolicyName. + /// To perform a PutAccountPolicy subscription filter operation for any destination + /// except a Lambda function, you must also have the iam:PassRole permission. /// ///
    [Cmdlet("Write", "CWLAccountPolicy", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -138,7 +138,7 @@ public partial class WriteCWLAccountPolicyCmdlet : AmazonCloudWatchLogsClientCmd /// destinations.
  • RoleArn The ARN of an IAM role that grants CloudWatch Logs permissions to /// deliver ingested log events to the destination stream. You don't need to provide the /// ARN when you are working with a logical destination for cross-account delivery.
  • FilterPattern A filter pattern for subscribing to a filtered stream of log - /// events.
  • DistributionThe method used to distribute log data to the destination. By + /// events.
  • Distribution The method used to distribute log data to the destination. By /// default, log data is grouped by log stream, but the grouping can be set to Random /// for a more even distribution. This property is only applicable when the destination /// is an Kinesis Data Streams data stream.
  • diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLDeliverySource-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLDeliverySource-Cmdlet.cs index 0072b0aa3f..b04f34dd72 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLDeliverySource-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLDeliverySource-Cmdlet.cs @@ -78,7 +78,7 @@ public partial class WriteCWLDeliverySourceCmdlet : AmazonCloudWatchLogsClientCm #region Parameter LogType /// /// - /// Defines the type of log that the source is sending.
    • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.
    • For IAM Identity Centerr, the valid value is ERROR_LOGS.
    • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, + /// Defines the type of log that the source is sending.
      • For Amazon Bedrock, the valid value is APPLICATION_LOGS.
      • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.
      • For IAM Identity Center, the valid value is ERROR_LOGS.
      • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, /// WORKMAIL_AVAILABILITY_PROVIDER_LOGS, and WORKMAIL_MAILBOX_ACCESS_LOGS.
      ///
      ///
    diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLLogEvent-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLLogEvent-Cmdlet.cs index 5b3ef39df0..c59cce1416 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLLogEvent-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLLogEvent-Cmdlet.cs @@ -79,6 +79,28 @@ public partial class WriteCWLLogEventCmdlet : AmazonCloudWatchLogsClientCmdlet, protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter Entity_Attribute + /// + /// + /// Reserved for internal use. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Entity_Attributes")] + public System.Collections.Hashtable Entity_Attribute { get; set; } + #endregion + + #region Parameter Entity_KeyAttribute + /// + /// + /// Reserved for internal use. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Entity_KeyAttributes")] + public System.Collections.Hashtable Entity_KeyAttribute { get; set; } + #endregion + #region Parameter LogEvent /// /// @@ -206,6 +228,22 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.SequenceToken; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Entity_Attribute != null) + { + context.Entity_Attribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Entity_Attribute.Keys) + { + context.Entity_Attribute.Add((String)hashKey, (System.String)(this.Entity_Attribute[hashKey])); + } + } + if (this.Entity_KeyAttribute != null) + { + context.Entity_KeyAttribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Entity_KeyAttribute.Keys) + { + context.Entity_KeyAttribute.Add((String)hashKey, (System.String)(this.Entity_KeyAttribute[hashKey])); + } + } if (this.LogEvent != null) { context.LogEvent = new List(this.LogEvent); @@ -247,6 +285,35 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.CloudWatchLogs.Model.PutLogEventsRequest(); + + // populate Entity + var requestEntityIsNull = true; + request.Entity = new Amazon.CloudWatchLogs.Model.Entity(); + Dictionary requestEntity_entity_Attribute = null; + if (cmdletContext.Entity_Attribute != null) + { + requestEntity_entity_Attribute = cmdletContext.Entity_Attribute; + } + if (requestEntity_entity_Attribute != null) + { + request.Entity.Attributes = requestEntity_entity_Attribute; + requestEntityIsNull = false; + } + Dictionary requestEntity_entity_KeyAttribute = null; + if (cmdletContext.Entity_KeyAttribute != null) + { + requestEntity_entity_KeyAttribute = cmdletContext.Entity_KeyAttribute; + } + if (requestEntity_entity_KeyAttribute != null) + { + request.Entity.KeyAttributes = requestEntity_entity_KeyAttribute; + requestEntityIsNull = false; + } + // determine if request.Entity should be set to null + if (requestEntityIsNull) + { + request.Entity = null; + } if (cmdletContext.LogEvent != null) { request.LogEvents = cmdletContext.LogEvent; @@ -324,6 +391,8 @@ private Amazon.CloudWatchLogs.Model.PutLogEventsResponse CallAWSServiceOperation internal partial class CmdletContext : ExecutorContext { + public Dictionary Entity_Attribute { get; set; } + public Dictionary Entity_KeyAttribute { get; set; } public List LogEvent { get; set; } public System.String LogGroupName { get; set; } public System.String LogStreamName { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLMetricFilter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLMetricFilter-Cmdlet.cs index e6b6fbe7d3..b7ffe9903b 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLMetricFilter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLMetricFilter-Cmdlet.cs @@ -36,6 +36,13 @@ namespace Amazon.PowerShell.Cmdlets.CWL /// /// The maximum number of metric filters that can be associated with a log group is 100. /// + /// Using regular expressions to create metric filters is supported. For these filters, + /// there is a quotas of quota of two regular expression patterns within a single filter + /// pattern. There is also a quota of five regular expression patterns per log group. + /// For more information about using regular expressions in metric filters, see + /// Filter pattern syntax for metric filters, subscription filters, filter log events, + /// and Live Tail. + /// /// When you create a metric filter, you can also optionally assign a unit and dimensions /// to the metric that is created. /// diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLSubscriptionFilter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLSubscriptionFilter-Cmdlet.cs index 4a1badaf45..0226c3c118 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLSubscriptionFilter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchLogs/Basic/Write-CWLSubscriptionFilter-Cmdlet.cs @@ -55,6 +55,14 @@ namespace Amazon.PowerShell.Cmdlets.CWL /// are updating an existing filter, you must specify the correct name in filterName. /// /// + /// Using regular expressions to create subscription filters is supported. For these filters, + /// there is a quotas of quota of two regular expression patterns within a single filter + /// pattern. There is also a quota of five regular expression patterns per log group. + /// For more information about using regular expressions in subscription filters, see + /// + /// Filter pattern syntax for metric filters, subscription filters, filter log events, + /// and Live Tail. + /// /// To perform a PutSubscriptionFilter operation for any destination except a Lambda /// function, you must also have the iam:PassRole permission. /// diff --git a/modules/AWSPowerShell/Cmdlets/CloudWatchRUM/AmazonCloudWatchRUMClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CloudWatchRUM/AmazonCloudWatchRUMClientCmdlet.cs index 34aa7ad1a3..5abfc77216 100644 --- a/modules/AWSPowerShell/Cmdlets/CloudWatchRUM/AmazonCloudWatchRUMClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CloudWatchRUM/AmazonCloudWatchRUMClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCloudWatchRUM CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCloudWatchRUMConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeArtifact/AmazonCodeArtifactClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeArtifact/AmazonCodeArtifactClientCmdlet.cs index c12aa2106f..7199a0b5b7 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeArtifact/AmazonCodeArtifactClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeArtifact/AmazonCodeArtifactClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeArtifact CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeArtifactConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeBuild/AWS.Tools.CodeBuild.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/CodeBuild/AWS.Tools.CodeBuild.Completers.psm1 index 62dd35ff47..f06c6793ff 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeBuild/AWS.Tools.CodeBuild.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/CodeBuild/AWS.Tools.CodeBuild.Completers.psm1 @@ -420,7 +420,7 @@ $CB_Completers = { # Amazon.CodeBuild.WebhookScopeType "New-CBWebhook/ScopeConfiguration_Scope" { - $v = "GITHUB_GLOBAL","GITHUB_ORGANIZATION" + $v = "GITHUB_GLOBAL","GITHUB_ORGANIZATION","GITLAB_GROUP" break } diff --git a/modules/AWSPowerShell/Cmdlets/CodeBuild/AmazonCodeBuildClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeBuild/AmazonCodeBuildClientCmdlet.cs index 468172eaca..11ccc5c050 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeBuild/AmazonCodeBuildClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeBuild/AmazonCodeBuildClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeBuild CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeBuildConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeBuild/Basic/New-CBWebhook-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeBuild/Basic/New-CBWebhook-Cmdlet.cs index 1178efd20d..b473c7a0bb 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeBuild/Basic/New-CBWebhook-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeBuild/Basic/New-CBWebhook-Cmdlet.cs @@ -81,8 +81,9 @@ public partial class NewCBWebhookCmdlet : AmazonCodeBuildClientCmdlet, IExecutor #region Parameter ScopeConfiguration_Domain /// /// - /// The domain of the GitHub Enterprise organization. Note that this parameter is only - /// required if your project's source type is GITHUB_ENTERPRISE + /// The domain of the GitHub Enterprise organization or the GitLab Self Managed group. + /// Note that this parameter is only required if your project's source type is GITHUB_ENTERPRISE + /// or GITLAB_SELF_MANAGED. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -119,8 +120,8 @@ public partial class NewCBWebhookCmdlet : AmazonCodeBuildClientCmdlet, IExecutor #region Parameter ScopeConfiguration_Name /// /// - /// The name of either the enterprise or organization that will send webhook events to - /// CodeBuild, depending on if the webhook is a global or organization webhook respectively. + /// The name of either the group, enterprise, or organization that will send webhook events + /// to CodeBuild, depending on the type of webhook. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -147,7 +148,7 @@ public partial class NewCBWebhookCmdlet : AmazonCodeBuildClientCmdlet, IExecutor #region Parameter ScopeConfiguration_Scope /// /// - /// The type of scope for a GitHub webhook. + /// The type of scope for a GitHub or GitLab webhook. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/CodeCatalyst/AmazonCodeCatalystClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeCatalyst/AmazonCodeCatalystClientCmdlet.cs index 82438cc055..87ab2c7c59 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeCatalyst/AmazonCodeCatalystClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeCatalyst/AmazonCodeCatalystClientCmdlet.cs @@ -61,6 +61,13 @@ protected IAmazonCodeCatalyst CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeCatalystConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeCommit/AmazonCodeCommitClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeCommit/AmazonCodeCommitClientCmdlet.cs index 1c18a14776..145301ab79 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeCommit/AmazonCodeCommitClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeCommit/AmazonCodeCommitClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeCommit CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeCommitConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeConnections/AWS.Tools.CodeConnections.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/CodeConnections/AWS.Tools.CodeConnections.Completers.psm1 index 5991bf3796..047b893dfb 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeConnections/AWS.Tools.CodeConnections.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/CodeConnections/AWS.Tools.CodeConnections.Completers.psm1 @@ -101,6 +101,16 @@ $CCON_Completers = { break } + # Amazon.CodeConnections.PullRequestComment + { + ($_ -eq "New-CCONSyncConfiguration/PullRequestComment") -Or + ($_ -eq "Update-CCONSyncConfiguration/PullRequestComment") + } + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.CodeConnections.SyncConfigurationType { ($_ -eq "Get-CCONRepositorySyncDefinitionList/SyncType") -Or @@ -141,6 +151,7 @@ $CCON_map = @{ "ProviderType"=@("New-CCONConnection","New-CCONHost") "ProviderTypeFilter"=@("Get-CCONConnectionList") "PublishDeploymentStatus"=@("New-CCONSyncConfiguration","Update-CCONSyncConfiguration") + "PullRequestComment"=@("New-CCONSyncConfiguration","Update-CCONSyncConfiguration") "SyncType"=@("Get-CCONRepositorySyncDefinitionList","Get-CCONRepositorySyncStatus","Get-CCONResourceSyncStatus","Get-CCONSyncBlockerSummary","Get-CCONSyncConfiguration","Get-CCONSyncConfigurationList","New-CCONSyncConfiguration","Remove-CCONSyncConfiguration","Update-CCONSyncBlocker","Update-CCONSyncConfiguration") "TriggerResourceUpdateOn"=@("New-CCONSyncConfiguration","Update-CCONSyncConfiguration") } diff --git a/modules/AWSPowerShell/Cmdlets/CodeConnections/AmazonCodeConnectionsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeConnections/AmazonCodeConnectionsClientCmdlet.cs index 30d87cdf2c..ff933f6a51 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeConnections/AmazonCodeConnectionsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeConnections/AmazonCodeConnectionsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeConnections CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeConnectionsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/New-CCONSyncConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/New-CCONSyncConfiguration-Cmdlet.cs index 8b59e7719b..0bbb38174b 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/New-CCONSyncConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/New-CCONSyncConfiguration-Cmdlet.cs @@ -90,6 +90,18 @@ public partial class NewCCONSyncConfigurationCmdlet : AmazonCodeConnectionsClien public Amazon.CodeConnections.PublishDeploymentStatus PublishDeploymentStatus { get; set; } #endregion + #region Parameter PullRequestComment + /// + /// + /// A toggle that specifies whether to enable or disable pull request comments for the + /// sync configuration to be created. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.CodeConnections.PullRequestComment")] + public Amazon.CodeConnections.PullRequestComment PullRequestComment { get; set; } + #endregion + #region Parameter RepositoryLinkId /// /// @@ -229,6 +241,7 @@ protected override void ProcessRecord() } #endif context.PublishDeploymentStatus = this.PublishDeploymentStatus; + context.PullRequestComment = this.PullRequestComment; context.RepositoryLinkId = this.RepositoryLinkId; #if MODULAR if (this.RepositoryLinkId == null && ParameterWasBound(nameof(this.RepositoryLinkId))) @@ -286,6 +299,10 @@ public object Execute(ExecutorContext context) { request.PublishDeploymentStatus = cmdletContext.PublishDeploymentStatus; } + if (cmdletContext.PullRequestComment != null) + { + request.PullRequestComment = cmdletContext.PullRequestComment; + } if (cmdletContext.RepositoryLinkId != null) { request.RepositoryLinkId = cmdletContext.RepositoryLinkId; @@ -370,6 +387,7 @@ internal partial class CmdletContext : ExecutorContext public System.String Branch { get; set; } public System.String ConfigFile { get; set; } public Amazon.CodeConnections.PublishDeploymentStatus PublishDeploymentStatus { get; set; } + public Amazon.CodeConnections.PullRequestComment PullRequestComment { get; set; } public System.String RepositoryLinkId { get; set; } public System.String ResourceName { get; set; } public System.String RoleArn { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/Update-CCONSyncConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/Update-CCONSyncConfiguration-Cmdlet.cs index 55a92750db..8bcb20ed15 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/Update-CCONSyncConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeConnections/Basic/Update-CCONSyncConfiguration-Cmdlet.cs @@ -73,6 +73,18 @@ public partial class UpdateCCONSyncConfigurationCmdlet : AmazonCodeConnectionsCl public Amazon.CodeConnections.PublishDeploymentStatus PublishDeploymentStatus { get; set; } #endregion + #region Parameter PullRequestComment + /// + /// + /// TA toggle that specifies whether to enable or disable pull request comments for the + /// sync configuration to be updated. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.CodeConnections.PullRequestComment")] + public Amazon.CodeConnections.PullRequestComment PullRequestComment { get; set; } + #endregion + #region Parameter RepositoryLinkId /// /// @@ -183,6 +195,7 @@ protected override void ProcessRecord() context.Branch = this.Branch; context.ConfigFile = this.ConfigFile; context.PublishDeploymentStatus = this.PublishDeploymentStatus; + context.PullRequestComment = this.PullRequestComment; context.RepositoryLinkId = this.RepositoryLinkId; context.ResourceName = this.ResourceName; #if MODULAR @@ -228,6 +241,10 @@ public object Execute(ExecutorContext context) { request.PublishDeploymentStatus = cmdletContext.PublishDeploymentStatus; } + if (cmdletContext.PullRequestComment != null) + { + request.PullRequestComment = cmdletContext.PullRequestComment; + } if (cmdletContext.RepositoryLinkId != null) { request.RepositoryLinkId = cmdletContext.RepositoryLinkId; @@ -312,6 +329,7 @@ internal partial class CmdletContext : ExecutorContext public System.String Branch { get; set; } public System.String ConfigFile { get; set; } public Amazon.CodeConnections.PublishDeploymentStatus PublishDeploymentStatus { get; set; } + public Amazon.CodeConnections.PullRequestComment PullRequestComment { get; set; } public System.String RepositoryLinkId { get; set; } public System.String ResourceName { get; set; } public System.String RoleArn { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/CodeDeploy/AmazonCodeDeployClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeDeploy/AmazonCodeDeployClientCmdlet.cs index ba5326c639..fcb4a59088 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeDeploy/AmazonCodeDeployClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeDeploy/AmazonCodeDeployClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeDeploy CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeDeployConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeGuruProfiler/AmazonCodeGuruProfilerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeGuruProfiler/AmazonCodeGuruProfilerClientCmdlet.cs index 718f683eed..356484a28d 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeGuruProfiler/AmazonCodeGuruProfilerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeGuruProfiler/AmazonCodeGuruProfilerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeGuruProfiler CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeGuruProfilerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeGuruReviewer/AmazonCodeGuruReviewerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeGuruReviewer/AmazonCodeGuruReviewerClientCmdlet.cs index 0c3f6c3831..b977bf88b7 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeGuruReviewer/AmazonCodeGuruReviewerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeGuruReviewer/AmazonCodeGuruReviewerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeGuruReviewer CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeGuruReviewerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeGuruSecurity/AmazonCodeGuruSecurityClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeGuruSecurity/AmazonCodeGuruSecurityClientCmdlet.cs index 8ee9580d98..93c3d42bdf 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeGuruSecurity/AmazonCodeGuruSecurityClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeGuruSecurity/AmazonCodeGuruSecurityClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeGuruSecurity CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeGuruSecurityConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodePipeline/AmazonCodePipelineClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodePipeline/AmazonCodePipelineClientCmdlet.cs index 16c5fbdb23..73b2001cf0 100644 --- a/modules/AWSPowerShell/Cmdlets/CodePipeline/AmazonCodePipelineClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodePipeline/AmazonCodePipelineClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodePipeline CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodePipelineConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Get-CPWebhookList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Get-CPWebhookList-Cmdlet.cs index bcb086eb5b..987e76088a 100644 --- a/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Get-CPWebhookList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Get-CPWebhookList-Cmdlet.cs @@ -30,7 +30,11 @@ namespace Amazon.PowerShell.Cmdlets.CP /// /// Gets a listing of all the webhooks in this Amazon Web Services Region for this account. /// The output lists all webhooks and includes the webhook URL and ARN and the configuration - /// for each webhook.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + /// for each webhook. + /// + /// + /// If a secret token was provided, it will be redacted in the response. + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    [Cmdlet("Get", "CPWebhookList")] [OutputType("Amazon.CodePipeline.Model.ListWebhookItem")] diff --git a/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Write-CPWebhook-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Write-CPWebhook-Cmdlet.cs index 74eb4ce200..8daa6bc011 100644 --- a/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Write-CPWebhook-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodePipeline/Basic/Write-CPWebhook-Cmdlet.cs @@ -35,6 +35,18 @@ namespace Amazon.PowerShell.Cmdlets.CP /// and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty /// and DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported /// third parties to call the generated webhook URL. + /// + /// + /// When creating CodePipeline webhooks, do not use your own credentials or reuse the + /// same secret token across multiple webhooks. For optimal security, generate a unique + /// secret token for each webhook you create. The secret token is an arbitrary string + /// that you provide, which GitHub uses to compute and sign the webhook payloads sent + /// to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. + /// Using your own credentials or reusing the same token across multiple webhooks can + /// lead to security vulnerabilities. + /// + /// If a secret token was provided, it will be redacted in the response. + /// ///
    [Cmdlet("Write", "CPWebhook", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.CodePipeline.Model.ListWebhookItem")] @@ -64,7 +76,13 @@ public partial class WriteCPWebhookCmdlet : AmazonCodePipelineClientCmdlet, IExe #region Parameter Webhook_Authentication /// /// - /// Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.
    • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks + /// Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.When creating CodePipeline webhooks, do not use your own credentials or reuse the + /// same secret token across multiple webhooks. For optimal security, generate a unique + /// secret token for each webhook you create. The secret token is an arbitrary string + /// that you provide, which GitHub uses to compute and sign the webhook payloads sent + /// to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. + /// Using your own credentials or reusing the same token across multiple webhooks can + /// lead to security vulnerabilities.If a secret token was provided, it will be redacted in the response.
      • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks /// on the GitHub Developer website.
      • IP rejects webhooks trigger requests unless they originate from an IP address in /// the IP range whitelisted in the authentication configuration.
      • UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
      ///
      @@ -120,7 +138,13 @@ public partial class WriteCPWebhookCmdlet : AmazonCodePipelineClientCmdlet, IExe /// /// /// The property used to configure GitHub authentication. For GITHUB_HMAC, only the SecretToken - /// property must be set. + /// property must be set.When creating CodePipeline webhooks, do not use your own credentials or reuse the + /// same secret token across multiple webhooks. For optimal security, generate a unique + /// secret token for each webhook you create. The secret token is an arbitrary string + /// that you provide, which GitHub uses to compute and sign the webhook payloads sent + /// to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. + /// Using your own credentials or reusing the same token across multiple webhooks can + /// lead to security vulnerabilities.If a secret token was provided, it will be redacted in the response. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/CodeStarNotifications/AmazonCodeStarNotificationsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeStarNotifications/AmazonCodeStarNotificationsClientCmdlet.cs index b32f9e2358..07dc09ff49 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeStarNotifications/AmazonCodeStarNotificationsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeStarNotifications/AmazonCodeStarNotificationsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeStarNotifications CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeStarNotificationsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CodeStarconnections/AmazonCodeStarconnectionsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CodeStarconnections/AmazonCodeStarconnectionsClientCmdlet.cs index 960f081fc2..9f1a7dba87 100644 --- a/modules/AWSPowerShell/Cmdlets/CodeStarconnections/AmazonCodeStarconnectionsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CodeStarconnections/AmazonCodeStarconnectionsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCodeStarconnections CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCodeStarconnectionsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/AmazonCognitoIdentityClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/AmazonCognitoIdentityClientCmdlet.cs index 0d8edb984d..df1d3468f4 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/AmazonCognitoIdentityClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/AmazonCognitoIdentityClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCognitoIdentity CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCognitoIdentityConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); @@ -95,6 +102,13 @@ protected IAmazonCognitoIdentity CreateClient(RegionEndpoint region) return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCognitoIdentityConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGICredentialsForIdentity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGICredentialsForIdentity-Cmdlet.cs index 3c2a16c503..3668100d16 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGICredentialsForIdentity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGICredentialsForIdentity-Cmdlet.cs @@ -47,6 +47,8 @@ namespace Amazon.PowerShell.Cmdlets.CGI public partial class GetCGICredentialsForIdentityCmdlet : AnonymousAmazonCognitoIdentityClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter CustomRoleArn diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdToken-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdToken-Cmdlet.cs index 3734aa0c45..27fb10905f 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdToken-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdToken-Cmdlet.cs @@ -48,6 +48,8 @@ namespace Amazon.PowerShell.Cmdlets.CGI public partial class GetCGIOpenIdTokenCmdlet : AnonymousAmazonCognitoIdentityClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter IdentityId diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdTokenForDeveloperIdentity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdTokenForDeveloperIdentity-Cmdlet.cs index 2ef825cede..ab446ce23c 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdTokenForDeveloperIdentity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentity/Basic/Get-CGIOpenIdTokenForDeveloperIdentity-Cmdlet.cs @@ -55,6 +55,8 @@ namespace Amazon.PowerShell.Cmdlets.CGI public partial class GetCGIOpenIdTokenForDeveloperIdentityCmdlet : AmazonCognitoIdentityClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter IdentityId diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AWS.Tools.CognitoIdentityProvider.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AWS.Tools.CognitoIdentityProvider.Completers.psm1 index 765ad785ac..9f7101ca65 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AWS.Tools.CognitoIdentityProvider.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AWS.Tools.CognitoIdentityProvider.Completers.psm1 @@ -127,7 +127,7 @@ $CGIP_Completers = { ($_ -eq "Send-CGIPAuthChallengeResponseAdmin/ChallengeName") } { - $v = "ADMIN_NO_SRP_AUTH","CUSTOM_CHALLENGE","DEVICE_PASSWORD_VERIFIER","DEVICE_SRP_AUTH","MFA_SETUP","NEW_PASSWORD_REQUIRED","PASSWORD_VERIFIER","SELECT_MFA_TYPE","SMS_MFA","SOFTWARE_TOKEN_MFA" + $v = "ADMIN_NO_SRP_AUTH","CUSTOM_CHALLENGE","DEVICE_PASSWORD_VERIFIER","DEVICE_SRP_AUTH","EMAIL_OTP","MFA_SETUP","NEW_PASSWORD_REQUIRED","PASSWORD_VERIFIER","SELECT_MFA_TYPE","SMS_MFA","SOFTWARE_TOKEN_MFA" break } diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AmazonCognitoIdentityProviderClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AmazonCognitoIdentityProviderClientCmdlet.cs index 0cee3d4da6..8333026469 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AmazonCognitoIdentityProviderClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/AmazonCognitoIdentityProviderClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCognitoIdentityProvider CreateClient(AWSCredentials credentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCognitoIdentityProviderConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); @@ -95,6 +102,13 @@ protected IAmazonCognitoIdentityProvider CreateClient(RegionEndpoint region) return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCognitoIdentityProviderConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Get-CGIPUserAttributeVerificationCode-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Get-CGIPUserAttributeVerificationCode-Cmdlet.cs index 9fd3565453..8c309c5d24 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Get-CGIPUserAttributeVerificationCode-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Get-CGIPUserAttributeVerificationCode-Cmdlet.cs @@ -51,7 +51,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserAdmin-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserAdmin-Cmdlet.cs index cf511e088f..82b7589bb6 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserAdmin-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserAdmin-Cmdlet.cs @@ -44,7 +44,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPool-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPool-Cmdlet.cs index d93b871480..c58983180d 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPool-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPool-Cmdlet.cs @@ -38,7 +38,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPoolClient-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPoolClient-Cmdlet.cs index 4c3d786475..20f06962c9 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPoolClient-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/New-CGIPUserPoolClient-Cmdlet.cs @@ -346,17 +346,17 @@ public partial class NewCGIPUserPoolClientCmdlet : AmazonCognitoIdentityProvider #region Parameter ReadAttribute /// /// - /// The list of user attributes that you want your app client to have read-only access - /// to. After your user authenticates in your app, their access token authorizes them - /// to read their own attribute value for any attribute in this list. An example of this - /// kind of activity is when your user selects a link to view their profile information. - /// Your app makes a GetUser + /// The list of user attributes that you want your app client to have read access to. + /// After your user authenticates in your app, their access token authorizes them to read + /// their own attribute value for any attribute in this list. An example of this kind + /// of activity is when your user selects a link to view their profile information. Your + /// app makes a GetUser /// API request to retrieve and display your user's profile data.When you don't specify the ReadAttributes for your app client, your app can /// read the values of email_verified, phone_number_verified, and the Standard - /// attributes of your user pool. When your user pool has read access to these default - /// attributes, ReadAttributes doesn't return any information. Amazon Cognito only - /// populates ReadAttributes in the API response if you have specified your own - /// custom set of read attributes. + /// attributes of your user pool. When your user pool app client has read access to these + /// default attributes, ReadAttributes doesn't return any information. Amazon Cognito + /// only populates ReadAttributes in the API response if you have specified your + /// own custom set of read attributes. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Register-CGIPUserInPool-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Register-CGIPUserInPool-Cmdlet.cs index 1d757b0d0b..2f89319496 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Register-CGIPUserInPool-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Register-CGIPUserInPool-Cmdlet.cs @@ -47,7 +47,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPForgottenPassword-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPForgottenPassword-Cmdlet.cs index a265eee698..4cac37a2b5 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPForgottenPassword-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPForgottenPassword-Cmdlet.cs @@ -62,7 +62,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPUserPasswordAdmin-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPUserPasswordAdmin-Cmdlet.cs index 546506583e..c760f2bfb3 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPUserPasswordAdmin-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Reset-CGIPUserPasswordAdmin-Cmdlet.cs @@ -46,7 +46,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponse-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponse-Cmdlet.cs index eb680d2cb2..5fece25962 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponse-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponse-Cmdlet.cs @@ -54,7 +54,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into @@ -111,8 +111,11 @@ public partial class SendCGIPAuthChallengeResponseCmdlet : AmazonCognitoIdentity /// The responses to the challenge that you received in the previous request. Each challenge /// has its own required response parameters. The following examples are partial JSON /// request bodies that highlight challenge-response parameters.You must provide a SECRET_HASH parameter in all challenge responses to an app client - /// that has a client secret.
      SMS_MFA
      "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", - /// "USERNAME": "[username]"}
      PASSWORD_VERIFIER
      "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": + /// that has a client secret.
      SMS_MFA
      "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[code]", "USERNAME": + /// "[username]"}
      EMAIL_OTP
      "ChallengeName": "EMAIL_OTP", "ChallengeResponses": {"EMAIL_OTP_CODE": "[code]", + /// "USERNAME": "[username]"}
      PASSWORD_VERIFIER
      This challenge response is part of the SRP flow. Amazon Cognito requires that your + /// application respond to this challenge within a few seconds. When the response time + /// exceeds this period, your user pool returns a NotAuthorizedException error."ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": /// "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": /// [timestamp], "USERNAME": "[username]"}Add "DEVICE_KEY" when you sign in with a remembered device.
      CUSTOM_CHALLENGE
      "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", /// "ANSWER": "[challenge_answer]"}Add "DEVICE_KEY" when you sign in with a remembered device.
      NEW_PASSWORD_REQUIRED
      "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponseAdmin-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponseAdmin-Cmdlet.cs index ea158cef89..e59fcda50e 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponseAdmin-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPAuthChallengeResponseAdmin-Cmdlet.cs @@ -48,7 +48,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into @@ -111,8 +111,11 @@ public partial class SendCGIPAuthChallengeResponseAdminCmdlet : AmazonCognitoIde /// The responses to the challenge that you received in the previous request. Each challenge /// has its own required response parameters. The following examples are partial JSON /// request bodies that highlight challenge-response parameters.You must provide a SECRET_HASH parameter in all challenge responses to an app client - /// that has a client secret.
      SMS_MFA
      "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", - /// "USERNAME": "[username]"}
      PASSWORD_VERIFIER
      "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": + /// that has a client secret.
      SMS_MFA
      "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[code]", "USERNAME": + /// "[username]"}
      EMAIL_OTP
      "ChallengeName": "EMAIL_OTP", "ChallengeResponses": {"EMAIL_OTP_CODE": "[code]", + /// "USERNAME": "[username]"}
      PASSWORD_VERIFIER
      This challenge response is part of the SRP flow. Amazon Cognito requires that your + /// application respond to this challenge within a few seconds. When the response time + /// exceeds this period, your user pool returns a NotAuthorizedException error."ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": /// "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": /// [timestamp], "USERNAME": "[username]"}Add "DEVICE_KEY" when you sign in with a remembered device.
      CUSTOM_CHALLENGE
      "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", /// "ANSWER": "[challenge_answer]"}Add "DEVICE_KEY" when you sign in with a remembered device.
      NEW_PASSWORD_REQUIRED
      "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPConfirmationCode-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPConfirmationCode-Cmdlet.cs index 5b31053972..146c49453f 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPConfirmationCode-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Send-CGIPConfirmationCode-Cmdlet.cs @@ -47,7 +47,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreference-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreference-Cmdlet.cs index 4f24fe55c0..2f8c16aa05 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreference-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreference-Cmdlet.cs @@ -82,10 +82,33 @@ public partial class SetCGIPUserMFAPreferenceCmdlet : AmazonCognitoIdentityProvi public System.String AccessToken { get; set; } #endregion + #region Parameter EmailMfaSettings_Enabled + /// + /// + /// Specifies whether email message MFA is active for a user. When the value of this parameter + /// is Enabled, the user will be prompted for MFA during all sign-in attempts, + /// unless device tracking is turned on and the device has been trusted. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? EmailMfaSettings_Enabled { get; set; } + #endregion + + #region Parameter EmailMfaSettings_PreferredMfa + /// + /// + /// Specifies whether email message MFA is the user's preferred method. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? EmailMfaSettings_PreferredMfa { get; set; } + #endregion + #region Parameter SMSMfaSetting /// /// - /// The SMS text message multi-factor authentication (MFA) settings. + /// User preferences for SMS message MFA. Activates or deactivates SMS MFA and sets it + /// as the preferred MFA method when multiple methods are available. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -96,7 +119,8 @@ public partial class SetCGIPUserMFAPreferenceCmdlet : AmazonCognitoIdentityProvi #region Parameter SoftwareTokenMfaSetting /// /// - /// The time-based one-time password (TOTP) software token MFA settings. + /// User preferences for time-based one-time password (TOTP) MFA. Activates or deactivates + /// TOTP MFA and sets it as the preferred MFA method when multiple methods are available. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -152,6 +176,8 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter AccessToken which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.EmailMfaSettings_Enabled = this.EmailMfaSettings_Enabled; + context.EmailMfaSettings_PreferredMfa = this.EmailMfaSettings_PreferredMfa; context.SMSMfaSetting = this.SMSMfaSetting; context.SoftwareTokenMfaSetting = this.SoftwareTokenMfaSetting; @@ -174,6 +200,35 @@ public object Execute(ExecutorContext context) { request.AccessToken = cmdletContext.AccessToken; } + + // populate EmailMfaSettings + var requestEmailMfaSettingsIsNull = true; + request.EmailMfaSettings = new Amazon.CognitoIdentityProvider.Model.EmailMfaSettingsType(); + System.Boolean? requestEmailMfaSettings_emailMfaSettings_Enabled = null; + if (cmdletContext.EmailMfaSettings_Enabled != null) + { + requestEmailMfaSettings_emailMfaSettings_Enabled = cmdletContext.EmailMfaSettings_Enabled.Value; + } + if (requestEmailMfaSettings_emailMfaSettings_Enabled != null) + { + request.EmailMfaSettings.Enabled = requestEmailMfaSettings_emailMfaSettings_Enabled.Value; + requestEmailMfaSettingsIsNull = false; + } + System.Boolean? requestEmailMfaSettings_emailMfaSettings_PreferredMfa = null; + if (cmdletContext.EmailMfaSettings_PreferredMfa != null) + { + requestEmailMfaSettings_emailMfaSettings_PreferredMfa = cmdletContext.EmailMfaSettings_PreferredMfa.Value; + } + if (requestEmailMfaSettings_emailMfaSettings_PreferredMfa != null) + { + request.EmailMfaSettings.PreferredMfa = requestEmailMfaSettings_emailMfaSettings_PreferredMfa.Value; + requestEmailMfaSettingsIsNull = false; + } + // determine if request.EmailMfaSettings should be set to null + if (requestEmailMfaSettingsIsNull) + { + request.EmailMfaSettings = null; + } if (cmdletContext.SMSMfaSetting != null) { request.SMSMfaSettings = cmdletContext.SMSMfaSetting; @@ -244,6 +299,8 @@ private Amazon.CognitoIdentityProvider.Model.SetUserMFAPreferenceResponse CallAW internal partial class CmdletContext : ExecutorContext { public System.String AccessToken { get; set; } + public System.Boolean? EmailMfaSettings_Enabled { get; set; } + public System.Boolean? EmailMfaSettings_PreferredMfa { get; set; } public Amazon.CognitoIdentityProvider.Model.SMSMfaSettingsType SMSMfaSetting { get; set; } public Amazon.CognitoIdentityProvider.Model.SoftwareTokenMfaSettingsType SoftwareTokenMfaSetting { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreferenceAdmin-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreferenceAdmin-Cmdlet.cs index e6619cf658..1a21cdca6f 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreferenceAdmin-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserMFAPreferenceAdmin-Cmdlet.cs @@ -28,8 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.CGIP { /// - /// The user's multi-factor authentication (MFA) preference, including which MFA options - /// are activated, and if any are preferred. Only one factor can be set as preferred. + /// Sets the user's multi-factor authentication (MFA) preference, including which MFA + /// options are activated, and if any are preferred. Only one factor can be set as preferred. /// The preferred MFA factor will be used to authenticate a user if multiple factors are /// activated. If multiple options are activated and no preference is set, a challenge /// to choose an MFA option will be returned during sign-in. @@ -56,10 +56,33 @@ public partial class SetCGIPUserMFAPreferenceAdminCmdlet : AmazonCognitoIdentity protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter EmailMfaSettings_Enabled + /// + /// + /// Specifies whether email message MFA is active for a user. When the value of this parameter + /// is Enabled, the user will be prompted for MFA during all sign-in attempts, + /// unless device tracking is turned on and the device has been trusted. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? EmailMfaSettings_Enabled { get; set; } + #endregion + + #region Parameter EmailMfaSettings_PreferredMfa + /// + /// + /// Specifies whether email message MFA is the user's preferred method. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? EmailMfaSettings_PreferredMfa { get; set; } + #endregion + #region Parameter SMSMfaSetting /// /// - /// The SMS text message MFA settings. + /// User preferences for SMS message MFA. Activates or deactivates SMS MFA and sets it + /// as the preferred MFA method when multiple methods are available. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -70,7 +93,8 @@ public partial class SetCGIPUserMFAPreferenceAdminCmdlet : AmazonCognitoIdentity #region Parameter SoftwareTokenMfaSetting /// /// - /// The time-based one-time password software token MFA settings. + /// User preferences for time-based one-time password (TOTP) MFA. Activates or deactivates + /// TOTP MFA and sets it as the preferred MFA method when multiple methods are available. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -101,7 +125,7 @@ public partial class SetCGIPUserMFAPreferenceAdminCmdlet : AmazonCognitoIdentity #region Parameter UserPoolId /// /// - /// The user pool ID. + /// The ID of the user pool where you want to set a user's MFA preferences. /// /// #if !MODULAR @@ -176,6 +200,8 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.UserPoolId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.EmailMfaSettings_Enabled = this.EmailMfaSettings_Enabled; + context.EmailMfaSettings_PreferredMfa = this.EmailMfaSettings_PreferredMfa; context.SMSMfaSetting = this.SMSMfaSetting; context.SoftwareTokenMfaSetting = this.SoftwareTokenMfaSetting; context.Username = this.Username; @@ -208,6 +234,35 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.CognitoIdentityProvider.Model.AdminSetUserMFAPreferenceRequest(); + + // populate EmailMfaSettings + var requestEmailMfaSettingsIsNull = true; + request.EmailMfaSettings = new Amazon.CognitoIdentityProvider.Model.EmailMfaSettingsType(); + System.Boolean? requestEmailMfaSettings_emailMfaSettings_Enabled = null; + if (cmdletContext.EmailMfaSettings_Enabled != null) + { + requestEmailMfaSettings_emailMfaSettings_Enabled = cmdletContext.EmailMfaSettings_Enabled.Value; + } + if (requestEmailMfaSettings_emailMfaSettings_Enabled != null) + { + request.EmailMfaSettings.Enabled = requestEmailMfaSettings_emailMfaSettings_Enabled.Value; + requestEmailMfaSettingsIsNull = false; + } + System.Boolean? requestEmailMfaSettings_emailMfaSettings_PreferredMfa = null; + if (cmdletContext.EmailMfaSettings_PreferredMfa != null) + { + requestEmailMfaSettings_emailMfaSettings_PreferredMfa = cmdletContext.EmailMfaSettings_PreferredMfa.Value; + } + if (requestEmailMfaSettings_emailMfaSettings_PreferredMfa != null) + { + request.EmailMfaSettings.PreferredMfa = requestEmailMfaSettings_emailMfaSettings_PreferredMfa.Value; + requestEmailMfaSettingsIsNull = false; + } + // determine if request.EmailMfaSettings should be set to null + if (requestEmailMfaSettingsIsNull) + { + request.EmailMfaSettings = null; + } if (cmdletContext.SMSMfaSetting != null) { request.SMSMfaSettings = cmdletContext.SMSMfaSetting; @@ -285,6 +340,8 @@ private Amazon.CognitoIdentityProvider.Model.AdminSetUserMFAPreferenceResponse C internal partial class CmdletContext : ExecutorContext { + public System.Boolean? EmailMfaSettings_Enabled { get; set; } + public System.Boolean? EmailMfaSettings_PreferredMfa { get; set; } public Amazon.CognitoIdentityProvider.Model.SMSMfaSettingsType SMSMfaSetting { get; set; } public Amazon.CognitoIdentityProvider.Model.SoftwareTokenMfaSettingsType SoftwareTokenMfaSetting { get; set; } public System.String Username { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserPoolMfaConfig-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserPoolMfaConfig-Cmdlet.cs index 9a3b953900..65f3f9ca17 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserPoolMfaConfig-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Set-CGIPUserPoolMfaConfig-Cmdlet.cs @@ -40,7 +40,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into @@ -60,6 +60,19 @@ public partial class SetCGIPUserPoolMfaConfigCmdlet : AmazonCognitoIdentityProvi protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter EmailMfaConfiguration_Message + /// + /// + /// The template for the email message that your user pool sends to users with an MFA + /// code. The message must contain the {####} placeholder. In the message, Amazon + /// Cognito replaces this placeholder with the code. If you don't provide this parameter, + /// Amazon Cognito sends messages in the default format. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String EmailMfaConfiguration_Message { get; set; } + #endregion + #region Parameter MfaConfiguration /// /// @@ -77,7 +90,8 @@ public partial class SetCGIPUserPoolMfaConfigCmdlet : AmazonCognitoIdentityProvi #region Parameter SmsMfaConfiguration /// /// - /// The SMS text message MFA configuration. + /// Configures user pool SMS messages for MFA. Sets the message template and the SMS message + /// sending configuration for Amazon SNS. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -87,13 +101,24 @@ public partial class SetCGIPUserPoolMfaConfigCmdlet : AmazonCognitoIdentityProvi #region Parameter SoftwareTokenMfaConfiguration /// /// - /// The software token MFA configuration. + /// Configures a user pool for time-based one-time password (TOTP) MFA. Enables or disables + /// TOTP. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public Amazon.CognitoIdentityProvider.Model.SoftwareTokenMfaConfigType SoftwareTokenMfaConfiguration { get; set; } #endregion + #region Parameter EmailMfaConfiguration_Subject + /// + /// + /// The subject of the email message that your user pool sends to users with an MFA code. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String EmailMfaConfiguration_Subject { get; set; } + #endregion + #region Parameter UserPoolId /// /// @@ -173,6 +198,8 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.UserPoolId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.EmailMfaConfiguration_Message = this.EmailMfaConfiguration_Message; + context.EmailMfaConfiguration_Subject = this.EmailMfaConfiguration_Subject; context.MfaConfiguration = this.MfaConfiguration; context.SmsMfaConfiguration = this.SmsMfaConfiguration; context.SoftwareTokenMfaConfiguration = this.SoftwareTokenMfaConfiguration; @@ -199,6 +226,35 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.CognitoIdentityProvider.Model.SetUserPoolMfaConfigRequest(); + + // populate EmailMfaConfiguration + var requestEmailMfaConfigurationIsNull = true; + request.EmailMfaConfiguration = new Amazon.CognitoIdentityProvider.Model.EmailMfaConfigType(); + System.String requestEmailMfaConfiguration_emailMfaConfiguration_Message = null; + if (cmdletContext.EmailMfaConfiguration_Message != null) + { + requestEmailMfaConfiguration_emailMfaConfiguration_Message = cmdletContext.EmailMfaConfiguration_Message; + } + if (requestEmailMfaConfiguration_emailMfaConfiguration_Message != null) + { + request.EmailMfaConfiguration.Message = requestEmailMfaConfiguration_emailMfaConfiguration_Message; + requestEmailMfaConfigurationIsNull = false; + } + System.String requestEmailMfaConfiguration_emailMfaConfiguration_Subject = null; + if (cmdletContext.EmailMfaConfiguration_Subject != null) + { + requestEmailMfaConfiguration_emailMfaConfiguration_Subject = cmdletContext.EmailMfaConfiguration_Subject; + } + if (requestEmailMfaConfiguration_emailMfaConfiguration_Subject != null) + { + request.EmailMfaConfiguration.Subject = requestEmailMfaConfiguration_emailMfaConfiguration_Subject; + requestEmailMfaConfigurationIsNull = false; + } + // determine if request.EmailMfaConfiguration should be set to null + if (requestEmailMfaConfigurationIsNull) + { + request.EmailMfaConfiguration = null; + } if (cmdletContext.MfaConfiguration != null) { request.MfaConfiguration = cmdletContext.MfaConfiguration; @@ -276,6 +332,8 @@ private Amazon.CognitoIdentityProvider.Model.SetUserPoolMfaConfigResponse CallAW internal partial class CmdletContext : ExecutorContext { + public System.String EmailMfaConfiguration_Message { get; set; } + public System.String EmailMfaConfiguration_Subject { get; set; } public Amazon.CognitoIdentityProvider.UserPoolMfaType MfaConfiguration { get; set; } public Amazon.CognitoIdentityProvider.Model.SmsMfaConfigType SmsMfaConfiguration { get; set; } public Amazon.CognitoIdentityProvider.Model.SoftwareTokenMfaConfigType SoftwareTokenMfaConfiguration { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuth-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuth-Cmdlet.cs index bf6df411d8..221f59f833 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuth-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuth-Cmdlet.cs @@ -49,7 +49,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuthAdmin-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuthAdmin-Cmdlet.cs index f337d172e7..8e00edcd96 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuthAdmin-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Start-CGIPAuthAdmin-Cmdlet.cs @@ -40,7 +40,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttribute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttribute-Cmdlet.cs index 28d0b98035..728e7486cf 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttribute-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttribute-Cmdlet.cs @@ -53,7 +53,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttributeAdmin-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttributeAdmin-Cmdlet.cs index 3cf0d53f9b..a3f0e1d7e7 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttributeAdmin-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserAttributeAdmin-Cmdlet.cs @@ -38,7 +38,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPool-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPool-Cmdlet.cs index a55dff3107..2e5b31d754 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPool-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPool-Cmdlet.cs @@ -38,7 +38,7 @@ namespace Amazon.PowerShell.Cmdlets.CGIP /// their accounts, or sign in. /// /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web - /// Services service, Amazon Simple Notification Service might place your account in the + /// Servicesservice, Amazon Simple Notification Service might place your account in the /// SMS sandbox. In sandbox /// mode, you can send messages only to verified phone numbers. After you test /// your app while in the sandbox environment, you can move out of the sandbox and into diff --git a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPoolClient-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPoolClient-Cmdlet.cs index b84258a8d0..4f49bf2848 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPoolClient-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoIdentityProvider/Basic/Update-CGIPUserPoolClient-Cmdlet.cs @@ -343,17 +343,17 @@ public partial class UpdateCGIPUserPoolClientCmdlet : AmazonCognitoIdentityProvi #region Parameter ReadAttribute /// /// - /// The list of user attributes that you want your app client to have read-only access - /// to. After your user authenticates in your app, their access token authorizes them - /// to read their own attribute value for any attribute in this list. An example of this - /// kind of activity is when your user selects a link to view their profile information. - /// Your app makes a GetUser + /// The list of user attributes that you want your app client to have read access to. + /// After your user authenticates in your app, their access token authorizes them to read + /// their own attribute value for any attribute in this list. An example of this kind + /// of activity is when your user selects a link to view their profile information. Your + /// app makes a GetUser /// API request to retrieve and display your user's profile data.When you don't specify the ReadAttributes for your app client, your app can /// read the values of email_verified, phone_number_verified, and the Standard - /// attributes of your user pool. When your user pool has read access to these default - /// attributes, ReadAttributes doesn't return any information. Amazon Cognito only - /// populates ReadAttributes in the API response if you have specified your own - /// custom set of read attributes. + /// attributes of your user pool. When your user pool app client has read access to these + /// default attributes, ReadAttributes doesn't return any information. Amazon Cognito + /// only populates ReadAttributes in the API response if you have specified your + /// own custom set of read attributes. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/CognitoSync/AmazonCognitoSyncClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CognitoSync/AmazonCognitoSyncClientCmdlet.cs index 23f80df322..9d14ba352c 100644 --- a/modules/AWSPowerShell/Cmdlets/CognitoSync/AmazonCognitoSyncClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CognitoSync/AmazonCognitoSyncClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCognitoSync CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCognitoSyncConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Comprehend/AmazonComprehendClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Comprehend/AmazonComprehendClientCmdlet.cs index cdc43e9f7c..6b52616119 100644 --- a/modules/AWSPowerShell/Cmdlets/Comprehend/AmazonComprehendClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Comprehend/AmazonComprehendClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonComprehend CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonComprehendConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ComprehendMedical/AmazonComprehendMedicalClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ComprehendMedical/AmazonComprehendMedicalClientCmdlet.cs index 53cd094277..9c28ef74a8 100644 --- a/modules/AWSPowerShell/Cmdlets/ComprehendMedical/AmazonComprehendMedicalClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ComprehendMedical/AmazonComprehendMedicalClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonComprehendMedical CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonComprehendMedicalConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ComputeOptimizer/AmazonComputeOptimizerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ComputeOptimizer/AmazonComputeOptimizerClientCmdlet.cs index 83af74d0e2..105daf05e1 100644 --- a/modules/AWSPowerShell/Cmdlets/ComputeOptimizer/AmazonComputeOptimizerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ComputeOptimizer/AmazonComputeOptimizerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonComputeOptimizer CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonComputeOptimizerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ConfigService/AmazonConfigServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ConfigService/AmazonConfigServiceClientCmdlet.cs index e497a98d06..4f5f786d99 100644 --- a/modules/AWSPowerShell/Cmdlets/ConfigService/AmazonConfigServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ConfigService/AmazonConfigServiceClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonConfigService CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonConfigServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Connect/AWS.Tools.Connect.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/Connect/AWS.Tools.Connect.Completers.psm1 index 37220a4f59..f86161a685 100644 --- a/modules/AWSPowerShell/Cmdlets/Connect/AWS.Tools.Connect.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/Connect/AWS.Tools.Connect.Completers.psm1 @@ -492,7 +492,7 @@ $CONN_Completers = { ($_ -eq "Search-CONNVocabulary/LanguageCode") } { - $v = "ar-AE","de-CH","de-DE","en-AB","en-AU","en-GB","en-IE","en-IN","en-NZ","en-US","en-WL","en-ZA","es-ES","es-US","fr-CA","fr-FR","hi-IN","it-IT","ja-JP","ko-KR","pt-BR","pt-PT","zh-CN" + $v = "ar-AE","ca-ES","da-DK","de-CH","de-DE","en-AB","en-AU","en-GB","en-IE","en-IN","en-NZ","en-US","en-WL","en-ZA","es-ES","es-US","fi-FI","fr-CA","fr-FR","hi-IN","id-ID","it-IT","ja-JP","ko-KR","ms-MY","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","sv-SE","tl-PH","zh-CN" break } diff --git a/modules/AWSPowerShell/Cmdlets/Connect/AmazonConnectClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Connect/AmazonConnectClientCmdlet.cs index 77555ea189..1db64492d0 100644 --- a/modules/AWSPowerShell/Cmdlets/Connect/AmazonConnectClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Connect/AmazonConnectClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonConnect CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonConnectConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Connect/Basic/Add-CONNSecurityKey-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Connect/Basic/Add-CONNSecurityKey-Cmdlet.cs index d71d4cf2d5..f117155d87 100644 --- a/modules/AWSPowerShell/Cmdlets/Connect/Basic/Add-CONNSecurityKey-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Connect/Basic/Add-CONNSecurityKey-Cmdlet.cs @@ -68,7 +68,7 @@ public partial class AddCONNSecurityKeyCmdlet : AmazonConnectClientCmdlet, IExec #region Parameter Key /// /// - /// A valid security key in PEM format. + /// A valid security key in PEM format as a String. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Connect/Basic/Get-CONNMetricDataV2-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Connect/Basic/Get-CONNMetricDataV2-Cmdlet.cs index edee223c60..086972a313 100644 --- a/modules/AWSPowerShell/Cmdlets/Connect/Basic/Get-CONNMetricDataV2-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Connect/Basic/Get-CONNMetricDataV2-Cmdlet.cs @@ -322,7 +322,7 @@ public partial class GetCONNMetricDataV2Cmdlet : AmazonConnectClientCmdlet, IExe /// contact work time
      SUM_CONNECTING_TIME_AGENT
      Unit: SecondsValid metric filter key: INITIATION_METHOD. This metric only supports the following /// filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK /// | APIValid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent HierarchyUI name: Agent - /// API connecting timeThe Negate key in Metric Level Filters is not applicable for this metric.
      SUM_CONTACTS_ABANDONED
      Unit: CountMetric filter:
      • Valid values: API| Incoming | Outbound | Transfer | Callback + /// API connecting timeThe Negate key in Metric Level Filters is not applicable for this metric.
      CONTACTS_ABANDONED
      Unit: CountMetric filter:
      • Valid values: API| Incoming | Outbound | Transfer | Callback /// | Queue_Transfer| Disconnect
      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in ConnectUI name: Contact /// abandoned
      SUM_CONTACTS_ABANDONED_IN_X
      Unit: CountValid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, diff --git a/modules/AWSPowerShell/Cmdlets/ConnectCampaignService/AmazonConnectCampaignServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ConnectCampaignService/AmazonConnectCampaignServiceClientCmdlet.cs index 1584ea59a7..132a97cbf9 100644 --- a/modules/AWSPowerShell/Cmdlets/ConnectCampaignService/AmazonConnectCampaignServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ConnectCampaignService/AmazonConnectCampaignServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonConnectCampaignService CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonConnectCampaignServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ConnectCases/AmazonConnectCasesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ConnectCases/AmazonConnectCasesClientCmdlet.cs index 2b24eb255e..87220024f4 100644 --- a/modules/AWSPowerShell/Cmdlets/ConnectCases/AmazonConnectCasesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ConnectCases/AmazonConnectCasesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonConnectCases CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonConnectCasesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ConnectContactLens/AmazonConnectContactLensClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ConnectContactLens/AmazonConnectContactLensClientCmdlet.cs index 1d59f2247a..385c0e181b 100644 --- a/modules/AWSPowerShell/Cmdlets/ConnectContactLens/AmazonConnectContactLensClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ConnectContactLens/AmazonConnectContactLensClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonConnectContactLens CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonConnectContactLensConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ConnectParticipant/AmazonConnectParticipantClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ConnectParticipant/AmazonConnectParticipantClientCmdlet.cs index 2b4c18828b..a9de103de2 100644 --- a/modules/AWSPowerShell/Cmdlets/ConnectParticipant/AmazonConnectParticipantClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ConnectParticipant/AmazonConnectParticipantClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonConnectParticipant CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonConnectParticipantConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ConnectWisdomService/AmazonConnectWisdomServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ConnectWisdomService/AmazonConnectWisdomServiceClientCmdlet.cs index 4387d8cda0..251b5b5e21 100644 --- a/modules/AWSPowerShell/Cmdlets/ConnectWisdomService/AmazonConnectWisdomServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ConnectWisdomService/AmazonConnectWisdomServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonConnectWisdomService CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonConnectWisdomServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ControlCatalog/AmazonControlCatalogClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ControlCatalog/AmazonControlCatalogClientCmdlet.cs index d0e9e1f7a3..4a2bee02e8 100644 --- a/modules/AWSPowerShell/Cmdlets/ControlCatalog/AmazonControlCatalogClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ControlCatalog/AmazonControlCatalogClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonControlCatalog CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonControlCatalogConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ControlTower/AmazonControlTowerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ControlTower/AmazonControlTowerClientCmdlet.cs index e706fafa60..551178faa3 100644 --- a/modules/AWSPowerShell/Cmdlets/ControlTower/AmazonControlTowerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ControlTower/AmazonControlTowerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonControlTower CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonControlTowerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CostAndUsageReport/AmazonCostAndUsageReportClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CostAndUsageReport/AmazonCostAndUsageReportClientCmdlet.cs index 1113a4f4e2..d0d32356fd 100644 --- a/modules/AWSPowerShell/Cmdlets/CostAndUsageReport/AmazonCostAndUsageReportClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CostAndUsageReport/AmazonCostAndUsageReportClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCostAndUsageReport CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCostAndUsageReportConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CostExplorer/AmazonCostExplorerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CostExplorer/AmazonCostExplorerClientCmdlet.cs index 66b22afbe1..909c239e48 100644 --- a/modules/AWSPowerShell/Cmdlets/CostExplorer/AmazonCostExplorerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CostExplorer/AmazonCostExplorerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCostExplorer CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCostExplorerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CostExplorer/Basic/Get-CEDimensionValue-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CostExplorer/Basic/Get-CEDimensionValue-Cmdlet.cs index 73530457d2..603373c0a7 100644 --- a/modules/AWSPowerShell/Cmdlets/CostExplorer/Basic/Get-CEDimensionValue-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CostExplorer/Basic/Get-CEDimensionValue-Cmdlet.cs @@ -51,8 +51,8 @@ public partial class GetCEDimensionValueCmdlet : AmazonCostExplorerClientCmdlet, /// operation. If the context is set to COST_AND_USAGE, the resulting dimension /// values can be used in the GetCostAndUsage operation.If you set the context to COST_AND_USAGE, you can use the following dimensions /// for searching:
      • AZ - The Availability Zone. An example is us-east-1a.
      • BILLING_ENTITY - The Amazon Web Services seller that your account is with. Possible - /// values are the following:- Amazon Web Services(Amazon Web Services): The entity that sells Amazon Web Services.- AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian entity that's an acting - /// reseller for Amazon Web Services in India.- Amazon Web Services Marketplace: The entity that supports the sale of solutions + /// values are the following:- Amazon Web Services(Amazon Web Services): The entity that sells Amazon Web Servicesservices.- AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian entity that's an acting + /// reseller for Amazon Web Servicesservices in India.- Amazon Web Services Marketplace: The entity that supports the sale of solutions /// that are built on Amazon Web Services by third-party software providers.
      • CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.
      • DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid /// values are SingleAZ and MultiAZ.
      • DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora /// or MySQL.
      • INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.
      • INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different use cases. diff --git a/modules/AWSPowerShell/Cmdlets/CostOptimizationHub/AmazonCostOptimizationHubClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CostOptimizationHub/AmazonCostOptimizationHubClientCmdlet.cs index e087ca9f4a..f56790f53d 100644 --- a/modules/AWSPowerShell/Cmdlets/CostOptimizationHub/AmazonCostOptimizationHubClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CostOptimizationHub/AmazonCostOptimizationHubClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCostOptimizationHub CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCostOptimizationHubConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CustomerProfiles/AmazonCustomerProfilesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/CustomerProfiles/AmazonCustomerProfilesClientCmdlet.cs index 53b15b4cf9..b5f316e5fc 100644 --- a/modules/AWSPowerShell/Cmdlets/CustomerProfiles/AmazonCustomerProfilesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CustomerProfiles/AmazonCustomerProfilesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonCustomerProfiles CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonCustomerProfilesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/CustomerProfiles/Basic/Write-CPFIntegration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/CustomerProfiles/Basic/Write-CPFIntegration-Cmdlet.cs index 15c624bc9a..841927796f 100644 --- a/modules/AWSPowerShell/Cmdlets/CustomerProfiles/Basic/Write-CPFIntegration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/CustomerProfiles/Basic/Write-CPFIntegration-Cmdlet.cs @@ -276,6 +276,17 @@ public partial class WriteCPFIntegrationCmdlet : AmazonCustomerProfilesClientCmd public System.Collections.Hashtable ObjectTypeNames { get; set; } #endregion + #region Parameter RoleArn + /// + /// + /// The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to + /// make Customer Profiles requests on your behalf. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String RoleArn { get; set; } + #endregion + #region Parameter Scheduled_ScheduleEndTime /// /// @@ -483,6 +494,7 @@ protected override void ProcessRecord() context.ObjectTypeNames.Add((String)hashKey, (System.String)(this.ObjectTypeNames[hashKey])); } } + context.RoleArn = this.RoleArn; if (this.Tag != null) { context.Tag = new Dictionary(StringComparer.Ordinal); @@ -924,6 +936,10 @@ public object Execute(ExecutorContext context) { request.ObjectTypeNames = cmdletContext.ObjectTypeNames; } + if (cmdletContext.RoleArn != null) + { + request.RoleArn = cmdletContext.RoleArn; + } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; @@ -1019,6 +1035,7 @@ internal partial class CmdletContext : ExecutorContext public Amazon.CustomerProfiles.TriggerType TriggerConfig_TriggerType { get; set; } public System.String ObjectTypeName { get; set; } public Dictionary ObjectTypeNames { get; set; } + public System.String RoleArn { get; set; } public Dictionary Tag { get; set; } public System.String Uri { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/DAX/AmazonDAXClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DAX/AmazonDAXClientCmdlet.cs index 00c9b64132..6074995a35 100644 --- a/modules/AWSPowerShell/Cmdlets/DAX/AmazonDAXClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DAX/AmazonDAXClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDAX CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDAXConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DLM/AmazonDLMClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DLM/AmazonDLMClientCmdlet.cs index cc2cc77427..0c77ccb9ab 100644 --- a/modules/AWSPowerShell/Cmdlets/DLM/AmazonDLMClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DLM/AmazonDLMClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonDLM CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDLMConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DataExchange/AmazonDataExchangeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataExchange/AmazonDataExchangeClientCmdlet.cs index 5fa7740d1e..e565c75b0c 100644 --- a/modules/AWSPowerShell/Cmdlets/DataExchange/AmazonDataExchangeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataExchange/AmazonDataExchangeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDataExchange CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDataExchangeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DataPipeline/AmazonDataPipelineClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataPipeline/AmazonDataPipelineClientCmdlet.cs index ced25cb7e2..9109d93a3f 100644 --- a/modules/AWSPowerShell/Cmdlets/DataPipeline/AmazonDataPipelineClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataPipeline/AmazonDataPipelineClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDataPipeline CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDataPipelineConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DataSync/AmazonDataSyncClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataSync/AmazonDataSyncClientCmdlet.cs index 4b0a81ebd2..5514fd044b 100644 --- a/modules/AWSPowerShell/Cmdlets/DataSync/AmazonDataSyncClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataSync/AmazonDataSyncClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDataSync CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDataSyncConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.Completers.psm1 index e81b3f1706..08f02ef600 100644 --- a/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.Completers.psm1 @@ -125,6 +125,17 @@ $DZ_Completers = { break } + # Amazon.DataZone.DataZoneEntityType + { + ($_ -eq "Add-DZEntityOwner/EntityType") -Or + ($_ -eq "Get-DZEntityOwnerList/EntityType") -Or + ($_ -eq "Remove-DZEntityOwner/EntityType") + } + { + $v = "DOMAIN_UNIT" + break + } + # Amazon.DataZone.DomainStatus "Get-DZDomainList/Status" { @@ -132,6 +143,16 @@ $DZ_Completers = { break } + # Amazon.DataZone.DomainUnitDesignation + { + ($_ -eq "Add-DZPolicyGrant/DomainUnit_DomainUnitDesignation") -Or + ($_ -eq "Remove-DZPolicyGrant/DomainUnit_DomainUnitDesignation") + } + { + $v = "OWNER" + break + } + # Amazon.DataZone.EdgeDirection "Get-DZLineageNodeHistoryList/Direction" { @@ -218,6 +239,17 @@ $DZ_Completers = { break } + # Amazon.DataZone.ManagedPolicyType + { + ($_ -eq "Add-DZPolicyGrant/PolicyType") -Or + ($_ -eq "Get-DZPolicyGrantList/PolicyType") -Or + ($_ -eq "Remove-DZPolicyGrant/PolicyType") + } + { + $v = "ADD_TO_PROJECT_MEMBER_POOL","CREATE_ASSET_TYPE","CREATE_DOMAIN_UNIT","CREATE_ENVIRONMENT","CREATE_ENVIRONMENT_PROFILE","CREATE_FORM_TYPE","CREATE_GLOSSARY","CREATE_PROJECT","DELEGATE_CREATE_ENVIRONMENT_PROFILE","OVERRIDE_DOMAIN_UNIT_OWNERS","OVERRIDE_PROJECT_OWNERS" + break + } + # Amazon.DataZone.MetadataGenerationRunStatus "Get-DZMetadataGenerationRunList/Status" { @@ -249,6 +281,16 @@ $DZ_Completers = { break } + # Amazon.DataZone.ProjectDesignation + { + ($_ -eq "Add-DZPolicyGrant/Project_ProjectDesignation") -Or + ($_ -eq "Remove-DZPolicyGrant/Project_ProjectDesignation") + } + { + $v = "CONTRIBUTOR","OWNER" + break + } + # Amazon.DataZone.RejectRuleBehavior "Deny-DZPrediction/RejectRule_Rule" { @@ -313,6 +355,17 @@ $DZ_Completers = { break } + # Amazon.DataZone.TargetEntityType + { + ($_ -eq "Add-DZPolicyGrant/EntityType") -Or + ($_ -eq "Get-DZPolicyGrantList/EntityType") -Or + ($_ -eq "Remove-DZPolicyGrant/EntityType") + } + { + $v = "DOMAIN_UNIT","ENVIRONMENT_BLUEPRINT_CONFIGURATION","ENVIRONMENT_PROFILE" + break + } + # Amazon.DataZone.TaskStatus "Get-DZNotificationList/TaskStatus" { @@ -410,9 +463,12 @@ $DZ_map = @{ "Action"=@("New-DZListingChangeSet") "Designation"=@("New-DZProjectMembership") "Direction"=@("Get-DZLineageNodeHistoryList") + "DomainUnit_DomainUnitDesignation"=@("Add-DZPolicyGrant","Remove-DZPolicyGrant") "EnableSetting"=@("New-DZDataSource","Update-DZDataSource") - "EntityType"=@("Get-DZTimeSeriesDataPoint","Get-DZTimeSeriesDataPointList","New-DZListingChangeSet","New-DZTimeSeriesDataPoint","Remove-DZTimeSeriesDataPoint") + "EntityType"=@("Add-DZEntityOwner","Add-DZPolicyGrant","Get-DZEntityOwnerList","Get-DZPolicyGrantList","Get-DZTimeSeriesDataPoint","Get-DZTimeSeriesDataPointList","New-DZListingChangeSet","New-DZTimeSeriesDataPoint","Remove-DZEntityOwner","Remove-DZPolicyGrant","Remove-DZTimeSeriesDataPoint") "GroupType"=@("Search-DZGroupProfile") + "PolicyType"=@("Add-DZPolicyGrant","Get-DZPolicyGrantList","Remove-DZPolicyGrant") + "Project_ProjectDesignation"=@("Add-DZPolicyGrant","Remove-DZPolicyGrant") "RejectRule_Rule"=@("Deny-DZPrediction") "Schedule_Timezone"=@("New-DZDataSource","Update-DZDataSource") "SearchScope"=@("Search-DZResource","Search-DZType") @@ -480,6 +536,8 @@ $DZ_SelectCompleters = { $DZ_SelectMap = @{ "Select"=@("Approve-DZPrediction", "Approve-DZSubscriptionRequest", + "Add-DZEntityOwner", + "Add-DZPolicyGrant", "Set-DZEnvironmentRole", "Stop-DZMetadataGenerationRun", "Stop-DZSubscription", @@ -491,6 +549,7 @@ $DZ_SelectMap = @{ "New-DZDataProductRevision", "New-DZDataSource", "New-DZDomain", + "New-DZDomainUnit", "New-DZEnvironment", "New-DZEnvironmentAction", "New-DZEnvironmentProfile", @@ -511,6 +570,7 @@ $DZ_SelectMap = @{ "Remove-DZDataProduct", "Remove-DZDataSource", "Remove-DZDomain", + "Remove-DZDomainUnit", "Remove-DZEnvironment", "Remove-DZEnvironmentAction", "Remove-DZEnvironmentBlueprintConfiguration", @@ -533,6 +593,7 @@ $DZ_SelectMap = @{ "Get-DZDataSource", "Get-DZDataSourceRun", "Get-DZDomain", + "Get-DZDomainUnit", "Get-DZEnvironment", "Get-DZEnvironmentAction", "Get-DZEnvironmentBlueprint", @@ -561,6 +622,8 @@ $DZ_SelectMap = @{ "Get-DZDataSourceRunList", "Get-DZDataSourceList", "Get-DZDomainList", + "Get-DZDomainUnitsForParentList", + "Get-DZEntityOwnerList", "Get-DZEnvironmentActionList", "Get-DZEnvironmentBlueprintConfigurationList", "Get-DZEnvironmentBlueprintList", @@ -569,6 +632,7 @@ $DZ_SelectMap = @{ "Get-DZLineageNodeHistoryList", "Get-DZMetadataGenerationRunList", "Get-DZNotificationList", + "Get-DZPolicyGrantList", "Get-DZProjectMembershipList", "Get-DZProjectList", "Get-DZSubscriptionGrantList", @@ -582,6 +646,8 @@ $DZ_SelectMap = @{ "Write-DZEnvironmentBlueprintConfiguration", "Deny-DZPrediction", "Deny-DZSubscriptionRequest", + "Remove-DZEntityOwner", + "Remove-DZPolicyGrant", "Revoke-DZSubscription", "Search-DZResource", "Search-DZGroupProfile", @@ -595,6 +661,7 @@ $DZ_SelectMap = @{ "Update-DZAssetFilter", "Update-DZDataSource", "Update-DZDomain", + "Update-DZDomainUnit", "Update-DZEnvironment", "Update-DZEnvironmentAction", "Update-DZEnvironmentProfile", diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.psd1 b/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.psd1 index 019ac274d2..75b785ad4f 100644 --- a/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.psd1 +++ b/modules/AWSPowerShell/Cmdlets/DataZone/AWS.Tools.DataZone.psd1 @@ -86,6 +86,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Cmdlets to export from this module CmdletsToExport = @( + 'Add-DZEntityOwner', + 'Add-DZPolicyGrant', 'Add-DZResourceTag', 'Approve-DZPrediction', 'Approve-DZSubscriptionRequest', @@ -105,6 +107,9 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-DZDataSourceRunList', 'Get-DZDomain', 'Get-DZDomainList', + 'Get-DZDomainUnit', + 'Get-DZDomainUnitsForParentList', + 'Get-DZEntityOwnerList', 'Get-DZEnvironment', 'Get-DZEnvironmentAction', 'Get-DZEnvironmentActionList', @@ -127,6 +132,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-DZMetadataGenerationRun', 'Get-DZMetadataGenerationRunList', 'Get-DZNotificationList', + 'Get-DZPolicyGrantList', 'Get-DZProject', 'Get-DZProjectList', 'Get-DZProjectMembershipList', @@ -150,6 +156,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'New-DZDataProductRevision', 'New-DZDataSource', 'New-DZDomain', + 'New-DZDomainUnit', 'New-DZEnvironment', 'New-DZEnvironmentAction', 'New-DZEnvironmentProfile', @@ -171,6 +178,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Remove-DZDataProduct', 'Remove-DZDataSource', 'Remove-DZDomain', + 'Remove-DZDomainUnit', + 'Remove-DZEntityOwner', 'Remove-DZEnvironment', 'Remove-DZEnvironmentAction', 'Remove-DZEnvironmentBlueprintConfiguration', @@ -179,6 +188,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Remove-DZGlossary', 'Remove-DZGlossaryTerm', 'Remove-DZListing', + 'Remove-DZPolicyGrant', 'Remove-DZProject', 'Remove-DZProjectMembership', 'Remove-DZResourceTag', @@ -202,6 +212,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Update-DZAssetFilter', 'Update-DZDataSource', 'Update-DZDomain', + 'Update-DZDomainUnit', 'Update-DZEnvironment', 'Update-DZEnvironmentAction', 'Update-DZEnvironmentProfile', diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/AmazonDataZoneClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/AmazonDataZoneClientCmdlet.cs index fc5cf3d053..6196527f94 100644 --- a/modules/AWSPowerShell/Cmdlets/DataZone/AmazonDataZoneClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/AmazonDataZoneClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDataZone CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDataZoneConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Add-DZEntityOwner-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Add-DZEntityOwner-Cmdlet.cs new file mode 100644 index 0000000000..107b478433 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Add-DZEntityOwner-Cmdlet.cs @@ -0,0 +1,377 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DataZone; +using Amazon.DataZone.Model; + +namespace Amazon.PowerShell.Cmdlets.DZ +{ + /// + /// Adds the owner of an entity (a domain unit). + /// + [Cmdlet("Add", "DZEntityOwner", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the Amazon DataZone AddEntityOwner API operation.", Operation = new[] {"AddEntityOwner"}, SelectReturnType = typeof(Amazon.DataZone.Model.AddEntityOwnerResponse))] + [AWSCmdletOutput("None or Amazon.DataZone.Model.AddEntityOwnerResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DataZone.Model.AddEntityOwnerResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class AddDZEntityOwnerCmdlet : AmazonDataZoneClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DomainIdentifier + /// + /// + /// The ID of the domain in which you want to add the entity owner. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DomainIdentifier { get; set; } + #endregion + + #region Parameter EntityIdentifier + /// + /// + /// The ID of the entity to which you want to add an owner. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String EntityIdentifier { get; set; } + #endregion + + #region Parameter EntityType + /// + /// + /// The type of an entity. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.DataZoneEntityType")] + public Amazon.DataZone.DataZoneEntityType EntityType { get; set; } + #endregion + + #region Parameter Group_GroupIdentifier + /// + /// + /// The ID of the domain unit owners group. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Owner_Group_GroupIdentifier")] + public System.String Group_GroupIdentifier { get; set; } + #endregion + + #region Parameter User_UserIdentifier + /// + /// + /// The ID of the owner user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Owner_User_UserIdentifier")] + public System.String User_UserIdentifier { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that is provided to ensure the idempotency of + /// the request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DataZone.Model.AddEntityOwnerResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.EntityIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Add-DZEntityOwner (AddEntityOwner)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DomainIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.DomainIdentifier = this.DomainIdentifier; + #if MODULAR + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityIdentifier = this.EntityIdentifier; + #if MODULAR + if (this.EntityIdentifier == null && ParameterWasBound(nameof(this.EntityIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EntityIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityType = this.EntityType; + #if MODULAR + if (this.EntityType == null && ParameterWasBound(nameof(this.EntityType))) + { + WriteWarning("You are passing $null as a value for parameter EntityType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Group_GroupIdentifier = this.Group_GroupIdentifier; + context.User_UserIdentifier = this.User_UserIdentifier; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DataZone.Model.AddEntityOwnerRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DomainIdentifier != null) + { + request.DomainIdentifier = cmdletContext.DomainIdentifier; + } + if (cmdletContext.EntityIdentifier != null) + { + request.EntityIdentifier = cmdletContext.EntityIdentifier; + } + if (cmdletContext.EntityType != null) + { + request.EntityType = cmdletContext.EntityType; + } + + // populate Owner + var requestOwnerIsNull = true; + request.Owner = new Amazon.DataZone.Model.OwnerProperties(); + Amazon.DataZone.Model.OwnerGroupProperties requestOwner_owner_Group = null; + + // populate Group + var requestOwner_owner_GroupIsNull = true; + requestOwner_owner_Group = new Amazon.DataZone.Model.OwnerGroupProperties(); + System.String requestOwner_owner_Group_group_GroupIdentifier = null; + if (cmdletContext.Group_GroupIdentifier != null) + { + requestOwner_owner_Group_group_GroupIdentifier = cmdletContext.Group_GroupIdentifier; + } + if (requestOwner_owner_Group_group_GroupIdentifier != null) + { + requestOwner_owner_Group.GroupIdentifier = requestOwner_owner_Group_group_GroupIdentifier; + requestOwner_owner_GroupIsNull = false; + } + // determine if requestOwner_owner_Group should be set to null + if (requestOwner_owner_GroupIsNull) + { + requestOwner_owner_Group = null; + } + if (requestOwner_owner_Group != null) + { + request.Owner.Group = requestOwner_owner_Group; + requestOwnerIsNull = false; + } + Amazon.DataZone.Model.OwnerUserProperties requestOwner_owner_User = null; + + // populate User + var requestOwner_owner_UserIsNull = true; + requestOwner_owner_User = new Amazon.DataZone.Model.OwnerUserProperties(); + System.String requestOwner_owner_User_user_UserIdentifier = null; + if (cmdletContext.User_UserIdentifier != null) + { + requestOwner_owner_User_user_UserIdentifier = cmdletContext.User_UserIdentifier; + } + if (requestOwner_owner_User_user_UserIdentifier != null) + { + requestOwner_owner_User.UserIdentifier = requestOwner_owner_User_user_UserIdentifier; + requestOwner_owner_UserIsNull = false; + } + // determine if requestOwner_owner_User should be set to null + if (requestOwner_owner_UserIsNull) + { + requestOwner_owner_User = null; + } + if (requestOwner_owner_User != null) + { + request.Owner.User = requestOwner_owner_User; + requestOwnerIsNull = false; + } + // determine if request.Owner should be set to null + if (requestOwnerIsNull) + { + request.Owner = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DataZone.Model.AddEntityOwnerResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.AddEntityOwnerRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "AddEntityOwner"); + try + { + #if DESKTOP + return client.AddEntityOwner(request); + #elif CORECLR + return client.AddEntityOwnerAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String EntityIdentifier { get; set; } + public Amazon.DataZone.DataZoneEntityType EntityType { get; set; } + public System.String Group_GroupIdentifier { get; set; } + public System.String User_UserIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Add-DZPolicyGrant-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Add-DZPolicyGrant-Cmdlet.cs new file mode 100644 index 0000000000..c6a1157389 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Add-DZPolicyGrant-Cmdlet.cs @@ -0,0 +1,1063 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DataZone; +using Amazon.DataZone.Model; + +namespace Amazon.PowerShell.Cmdlets.DZ +{ + /// + /// Adds a policy grant (an authorization policy) to a specified entity, including domain + /// units, environment blueprint configurations, or environment profiles. + /// + [Cmdlet("Add", "DZPolicyGrant", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the Amazon DataZone AddPolicyGrant API operation.", Operation = new[] {"AddPolicyGrant"}, SelectReturnType = typeof(Amazon.DataZone.Model.AddPolicyGrantResponse))] + [AWSCmdletOutput("None or Amazon.DataZone.Model.AddPolicyGrantResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DataZone.Model.AddPolicyGrantResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class AddDZPolicyGrantCmdlet : AmazonDataZoneClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DomainUnitGrantFilter_AllDomainUnitsGrantFilter + /// + /// + /// Specifies a grant filter containing all domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_DomainUnit_DomainUnitGrantFilter_AllDomainUnitsGrantFilter")] + public Amazon.DataZone.Model.AllDomainUnitsGrantFilter DomainUnitGrantFilter_AllDomainUnitsGrantFilter { get; set; } + #endregion + + #region Parameter User_AllUsersGrantFilter + /// + /// + /// The all users grant filter of the user policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_User_AllUsersGrantFilter")] + public Amazon.DataZone.Model.AllUsersGrantFilter User_AllUsersGrantFilter { get; set; } + #endregion + + #region Parameter Detail_CreateEnvironment + /// + /// + /// Specifies that this is a create environment policy. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public Amazon.DataZone.Model.Unit Detail_CreateEnvironment { get; set; } + #endregion + + #region Parameter Detail_DelegateCreateEnvironmentProfile + /// + /// + /// Specifies that this is the delegation of the create environment profile policy. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public Amazon.DataZone.Model.Unit Detail_DelegateCreateEnvironmentProfile { get; set; } + #endregion + + #region Parameter DomainIdentifier + /// + /// + /// The ID of the domain where you want to add a policy grant. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DomainIdentifier { get; set; } + #endregion + + #region Parameter DomainUnitFilter_DomainUnit + /// + /// + /// The domain unit ID to use in the filter. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectGrantFilter_DomainUnitFilter_DomainUnit")] + public System.String DomainUnitFilter_DomainUnit { get; set; } + #endregion + + #region Parameter DomainUnit_DomainUnitDesignation + /// + /// + /// Specifes the designation of the domain unit users. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_DomainUnit_DomainUnitDesignation")] + [AWSConstantClassSource("Amazon.DataZone.DomainUnitDesignation")] + public Amazon.DataZone.DomainUnitDesignation DomainUnit_DomainUnitDesignation { get; set; } + #endregion + + #region Parameter CreateEnvironmentProfile_DomainUnitId + /// + /// + /// The ID of the domain unit. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_CreateEnvironmentProfile_DomainUnitId")] + public System.String CreateEnvironmentProfile_DomainUnitId { get; set; } + #endregion + + #region Parameter DomainUnit_DomainUnitIdentifier + /// + /// + /// The ID of the domain unit. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_DomainUnit_DomainUnitIdentifier")] + public System.String DomainUnit_DomainUnitIdentifier { get; set; } + #endregion + + #region Parameter EntityIdentifier + /// + /// + /// The ID of the entity (resource) to which you want to add a policy grant. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String EntityIdentifier { get; set; } + #endregion + + #region Parameter EntityType + /// + /// + /// The type of entity (resource) to which the grant is added. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.TargetEntityType")] + public Amazon.DataZone.TargetEntityType EntityType { get; set; } + #endregion + + #region Parameter Group_GroupIdentifier + /// + /// + /// The ID Of the group of the group principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Group_GroupIdentifier")] + public System.String Group_GroupIdentifier { get; set; } + #endregion + + #region Parameter AddToProjectMemberPool_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy grant is applied to child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_AddToProjectMemberPool_IncludeChildDomainUnits")] + public System.Boolean? AddToProjectMemberPool_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter CreateAssetType_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy grant is applied to child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_CreateAssetType_IncludeChildDomainUnits")] + public System.Boolean? CreateAssetType_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter CreateDomainUnit_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy grant is applied to child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_CreateDomainUnit_IncludeChildDomainUnits")] + public System.Boolean? CreateDomainUnit_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter CreateFormType_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy grant is applied to child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_CreateFormType_IncludeChildDomainUnits")] + public System.Boolean? CreateFormType_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter CreateGlossary_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy grant is applied to child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_CreateGlossary_IncludeChildDomainUnits")] + public System.Boolean? CreateGlossary_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter CreateProject_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy grant is applied to child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_CreateProject_IncludeChildDomainUnits")] + public System.Boolean? CreateProject_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter OverrideDomainUnitOwners_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy is inherited by child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_OverrideDomainUnitOwners_IncludeChildDomainUnits")] + public System.Boolean? OverrideDomainUnitOwners_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter OverrideProjectOwners_IncludeChildDomainUnit + /// + /// + /// Specifies whether the policy is inherited by child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Detail_OverrideProjectOwners_IncludeChildDomainUnits")] + public System.Boolean? OverrideProjectOwners_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter DomainUnitFilter_IncludeChildDomainUnit + /// + /// + /// Specifies whether to include child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectGrantFilter_DomainUnitFilter_IncludeChildDomainUnits")] + public System.Boolean? DomainUnitFilter_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter PolicyType + /// + /// + /// The type of policy that you want to grant. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.ManagedPolicyType")] + public Amazon.DataZone.ManagedPolicyType PolicyType { get; set; } + #endregion + + #region Parameter Project_ProjectDesignation + /// + /// + /// The project designation of the project policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectDesignation")] + [AWSConstantClassSource("Amazon.DataZone.ProjectDesignation")] + public Amazon.DataZone.ProjectDesignation Project_ProjectDesignation { get; set; } + #endregion + + #region Parameter Project_ProjectIdentifier + /// + /// + /// The project ID of the project policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectIdentifier")] + public System.String Project_ProjectIdentifier { get; set; } + #endregion + + #region Parameter User_UserIdentifier + /// + /// + /// The user ID of the user policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_User_UserIdentifier")] + public System.String User_UserIdentifier { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that is provided to ensure the idempotency of + /// the request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DataZone.Model.AddPolicyGrantResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.EntityIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Add-DZPolicyGrant (AddPolicyGrant)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DomainIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.AddToProjectMemberPool_IncludeChildDomainUnit = this.AddToProjectMemberPool_IncludeChildDomainUnit; + context.CreateAssetType_IncludeChildDomainUnit = this.CreateAssetType_IncludeChildDomainUnit; + context.CreateDomainUnit_IncludeChildDomainUnit = this.CreateDomainUnit_IncludeChildDomainUnit; + context.Detail_CreateEnvironment = this.Detail_CreateEnvironment; + context.CreateEnvironmentProfile_DomainUnitId = this.CreateEnvironmentProfile_DomainUnitId; + context.CreateFormType_IncludeChildDomainUnit = this.CreateFormType_IncludeChildDomainUnit; + context.CreateGlossary_IncludeChildDomainUnit = this.CreateGlossary_IncludeChildDomainUnit; + context.CreateProject_IncludeChildDomainUnit = this.CreateProject_IncludeChildDomainUnit; + context.Detail_DelegateCreateEnvironmentProfile = this.Detail_DelegateCreateEnvironmentProfile; + context.OverrideDomainUnitOwners_IncludeChildDomainUnit = this.OverrideDomainUnitOwners_IncludeChildDomainUnit; + context.OverrideProjectOwners_IncludeChildDomainUnit = this.OverrideProjectOwners_IncludeChildDomainUnit; + context.DomainIdentifier = this.DomainIdentifier; + #if MODULAR + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityIdentifier = this.EntityIdentifier; + #if MODULAR + if (this.EntityIdentifier == null && ParameterWasBound(nameof(this.EntityIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EntityIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityType = this.EntityType; + #if MODULAR + if (this.EntityType == null && ParameterWasBound(nameof(this.EntityType))) + { + WriteWarning("You are passing $null as a value for parameter EntityType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.PolicyType = this.PolicyType; + #if MODULAR + if (this.PolicyType == null && ParameterWasBound(nameof(this.PolicyType))) + { + WriteWarning("You are passing $null as a value for parameter PolicyType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.DomainUnit_DomainUnitDesignation = this.DomainUnit_DomainUnitDesignation; + context.DomainUnitGrantFilter_AllDomainUnitsGrantFilter = this.DomainUnitGrantFilter_AllDomainUnitsGrantFilter; + context.DomainUnit_DomainUnitIdentifier = this.DomainUnit_DomainUnitIdentifier; + context.Group_GroupIdentifier = this.Group_GroupIdentifier; + context.Project_ProjectDesignation = this.Project_ProjectDesignation; + context.DomainUnitFilter_DomainUnit = this.DomainUnitFilter_DomainUnit; + context.DomainUnitFilter_IncludeChildDomainUnit = this.DomainUnitFilter_IncludeChildDomainUnit; + context.Project_ProjectIdentifier = this.Project_ProjectIdentifier; + context.User_AllUsersGrantFilter = this.User_AllUsersGrantFilter; + context.User_UserIdentifier = this.User_UserIdentifier; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DataZone.Model.AddPolicyGrantRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + + // populate Detail + var requestDetailIsNull = true; + request.Detail = new Amazon.DataZone.Model.PolicyGrantDetail(); + Amazon.DataZone.Model.Unit requestDetail_detail_CreateEnvironment = null; + if (cmdletContext.Detail_CreateEnvironment != null) + { + requestDetail_detail_CreateEnvironment = cmdletContext.Detail_CreateEnvironment; + } + if (requestDetail_detail_CreateEnvironment != null) + { + request.Detail.CreateEnvironment = requestDetail_detail_CreateEnvironment; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.Unit requestDetail_detail_DelegateCreateEnvironmentProfile = null; + if (cmdletContext.Detail_DelegateCreateEnvironmentProfile != null) + { + requestDetail_detail_DelegateCreateEnvironmentProfile = cmdletContext.Detail_DelegateCreateEnvironmentProfile; + } + if (requestDetail_detail_DelegateCreateEnvironmentProfile != null) + { + request.Detail.DelegateCreateEnvironmentProfile = requestDetail_detail_DelegateCreateEnvironmentProfile; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.AddToProjectMemberPoolPolicyGrantDetail requestDetail_detail_AddToProjectMemberPool = null; + + // populate AddToProjectMemberPool + var requestDetail_detail_AddToProjectMemberPoolIsNull = true; + requestDetail_detail_AddToProjectMemberPool = new Amazon.DataZone.Model.AddToProjectMemberPoolPolicyGrantDetail(); + System.Boolean? requestDetail_detail_AddToProjectMemberPool_addToProjectMemberPool_IncludeChildDomainUnit = null; + if (cmdletContext.AddToProjectMemberPool_IncludeChildDomainUnit != null) + { + requestDetail_detail_AddToProjectMemberPool_addToProjectMemberPool_IncludeChildDomainUnit = cmdletContext.AddToProjectMemberPool_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_AddToProjectMemberPool_addToProjectMemberPool_IncludeChildDomainUnit != null) + { + requestDetail_detail_AddToProjectMemberPool.IncludeChildDomainUnits = requestDetail_detail_AddToProjectMemberPool_addToProjectMemberPool_IncludeChildDomainUnit.Value; + requestDetail_detail_AddToProjectMemberPoolIsNull = false; + } + // determine if requestDetail_detail_AddToProjectMemberPool should be set to null + if (requestDetail_detail_AddToProjectMemberPoolIsNull) + { + requestDetail_detail_AddToProjectMemberPool = null; + } + if (requestDetail_detail_AddToProjectMemberPool != null) + { + request.Detail.AddToProjectMemberPool = requestDetail_detail_AddToProjectMemberPool; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.CreateAssetTypePolicyGrantDetail requestDetail_detail_CreateAssetType = null; + + // populate CreateAssetType + var requestDetail_detail_CreateAssetTypeIsNull = true; + requestDetail_detail_CreateAssetType = new Amazon.DataZone.Model.CreateAssetTypePolicyGrantDetail(); + System.Boolean? requestDetail_detail_CreateAssetType_createAssetType_IncludeChildDomainUnit = null; + if (cmdletContext.CreateAssetType_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateAssetType_createAssetType_IncludeChildDomainUnit = cmdletContext.CreateAssetType_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_CreateAssetType_createAssetType_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateAssetType.IncludeChildDomainUnits = requestDetail_detail_CreateAssetType_createAssetType_IncludeChildDomainUnit.Value; + requestDetail_detail_CreateAssetTypeIsNull = false; + } + // determine if requestDetail_detail_CreateAssetType should be set to null + if (requestDetail_detail_CreateAssetTypeIsNull) + { + requestDetail_detail_CreateAssetType = null; + } + if (requestDetail_detail_CreateAssetType != null) + { + request.Detail.CreateAssetType = requestDetail_detail_CreateAssetType; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.CreateDomainUnitPolicyGrantDetail requestDetail_detail_CreateDomainUnit = null; + + // populate CreateDomainUnit + var requestDetail_detail_CreateDomainUnitIsNull = true; + requestDetail_detail_CreateDomainUnit = new Amazon.DataZone.Model.CreateDomainUnitPolicyGrantDetail(); + System.Boolean? requestDetail_detail_CreateDomainUnit_createDomainUnit_IncludeChildDomainUnit = null; + if (cmdletContext.CreateDomainUnit_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateDomainUnit_createDomainUnit_IncludeChildDomainUnit = cmdletContext.CreateDomainUnit_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_CreateDomainUnit_createDomainUnit_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateDomainUnit.IncludeChildDomainUnits = requestDetail_detail_CreateDomainUnit_createDomainUnit_IncludeChildDomainUnit.Value; + requestDetail_detail_CreateDomainUnitIsNull = false; + } + // determine if requestDetail_detail_CreateDomainUnit should be set to null + if (requestDetail_detail_CreateDomainUnitIsNull) + { + requestDetail_detail_CreateDomainUnit = null; + } + if (requestDetail_detail_CreateDomainUnit != null) + { + request.Detail.CreateDomainUnit = requestDetail_detail_CreateDomainUnit; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.CreateEnvironmentProfilePolicyGrantDetail requestDetail_detail_CreateEnvironmentProfile = null; + + // populate CreateEnvironmentProfile + var requestDetail_detail_CreateEnvironmentProfileIsNull = true; + requestDetail_detail_CreateEnvironmentProfile = new Amazon.DataZone.Model.CreateEnvironmentProfilePolicyGrantDetail(); + System.String requestDetail_detail_CreateEnvironmentProfile_createEnvironmentProfile_DomainUnitId = null; + if (cmdletContext.CreateEnvironmentProfile_DomainUnitId != null) + { + requestDetail_detail_CreateEnvironmentProfile_createEnvironmentProfile_DomainUnitId = cmdletContext.CreateEnvironmentProfile_DomainUnitId; + } + if (requestDetail_detail_CreateEnvironmentProfile_createEnvironmentProfile_DomainUnitId != null) + { + requestDetail_detail_CreateEnvironmentProfile.DomainUnitId = requestDetail_detail_CreateEnvironmentProfile_createEnvironmentProfile_DomainUnitId; + requestDetail_detail_CreateEnvironmentProfileIsNull = false; + } + // determine if requestDetail_detail_CreateEnvironmentProfile should be set to null + if (requestDetail_detail_CreateEnvironmentProfileIsNull) + { + requestDetail_detail_CreateEnvironmentProfile = null; + } + if (requestDetail_detail_CreateEnvironmentProfile != null) + { + request.Detail.CreateEnvironmentProfile = requestDetail_detail_CreateEnvironmentProfile; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.CreateFormTypePolicyGrantDetail requestDetail_detail_CreateFormType = null; + + // populate CreateFormType + var requestDetail_detail_CreateFormTypeIsNull = true; + requestDetail_detail_CreateFormType = new Amazon.DataZone.Model.CreateFormTypePolicyGrantDetail(); + System.Boolean? requestDetail_detail_CreateFormType_createFormType_IncludeChildDomainUnit = null; + if (cmdletContext.CreateFormType_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateFormType_createFormType_IncludeChildDomainUnit = cmdletContext.CreateFormType_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_CreateFormType_createFormType_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateFormType.IncludeChildDomainUnits = requestDetail_detail_CreateFormType_createFormType_IncludeChildDomainUnit.Value; + requestDetail_detail_CreateFormTypeIsNull = false; + } + // determine if requestDetail_detail_CreateFormType should be set to null + if (requestDetail_detail_CreateFormTypeIsNull) + { + requestDetail_detail_CreateFormType = null; + } + if (requestDetail_detail_CreateFormType != null) + { + request.Detail.CreateFormType = requestDetail_detail_CreateFormType; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.CreateGlossaryPolicyGrantDetail requestDetail_detail_CreateGlossary = null; + + // populate CreateGlossary + var requestDetail_detail_CreateGlossaryIsNull = true; + requestDetail_detail_CreateGlossary = new Amazon.DataZone.Model.CreateGlossaryPolicyGrantDetail(); + System.Boolean? requestDetail_detail_CreateGlossary_createGlossary_IncludeChildDomainUnit = null; + if (cmdletContext.CreateGlossary_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateGlossary_createGlossary_IncludeChildDomainUnit = cmdletContext.CreateGlossary_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_CreateGlossary_createGlossary_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateGlossary.IncludeChildDomainUnits = requestDetail_detail_CreateGlossary_createGlossary_IncludeChildDomainUnit.Value; + requestDetail_detail_CreateGlossaryIsNull = false; + } + // determine if requestDetail_detail_CreateGlossary should be set to null + if (requestDetail_detail_CreateGlossaryIsNull) + { + requestDetail_detail_CreateGlossary = null; + } + if (requestDetail_detail_CreateGlossary != null) + { + request.Detail.CreateGlossary = requestDetail_detail_CreateGlossary; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.CreateProjectPolicyGrantDetail requestDetail_detail_CreateProject = null; + + // populate CreateProject + var requestDetail_detail_CreateProjectIsNull = true; + requestDetail_detail_CreateProject = new Amazon.DataZone.Model.CreateProjectPolicyGrantDetail(); + System.Boolean? requestDetail_detail_CreateProject_createProject_IncludeChildDomainUnit = null; + if (cmdletContext.CreateProject_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateProject_createProject_IncludeChildDomainUnit = cmdletContext.CreateProject_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_CreateProject_createProject_IncludeChildDomainUnit != null) + { + requestDetail_detail_CreateProject.IncludeChildDomainUnits = requestDetail_detail_CreateProject_createProject_IncludeChildDomainUnit.Value; + requestDetail_detail_CreateProjectIsNull = false; + } + // determine if requestDetail_detail_CreateProject should be set to null + if (requestDetail_detail_CreateProjectIsNull) + { + requestDetail_detail_CreateProject = null; + } + if (requestDetail_detail_CreateProject != null) + { + request.Detail.CreateProject = requestDetail_detail_CreateProject; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.OverrideDomainUnitOwnersPolicyGrantDetail requestDetail_detail_OverrideDomainUnitOwners = null; + + // populate OverrideDomainUnitOwners + var requestDetail_detail_OverrideDomainUnitOwnersIsNull = true; + requestDetail_detail_OverrideDomainUnitOwners = new Amazon.DataZone.Model.OverrideDomainUnitOwnersPolicyGrantDetail(); + System.Boolean? requestDetail_detail_OverrideDomainUnitOwners_overrideDomainUnitOwners_IncludeChildDomainUnit = null; + if (cmdletContext.OverrideDomainUnitOwners_IncludeChildDomainUnit != null) + { + requestDetail_detail_OverrideDomainUnitOwners_overrideDomainUnitOwners_IncludeChildDomainUnit = cmdletContext.OverrideDomainUnitOwners_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_OverrideDomainUnitOwners_overrideDomainUnitOwners_IncludeChildDomainUnit != null) + { + requestDetail_detail_OverrideDomainUnitOwners.IncludeChildDomainUnits = requestDetail_detail_OverrideDomainUnitOwners_overrideDomainUnitOwners_IncludeChildDomainUnit.Value; + requestDetail_detail_OverrideDomainUnitOwnersIsNull = false; + } + // determine if requestDetail_detail_OverrideDomainUnitOwners should be set to null + if (requestDetail_detail_OverrideDomainUnitOwnersIsNull) + { + requestDetail_detail_OverrideDomainUnitOwners = null; + } + if (requestDetail_detail_OverrideDomainUnitOwners != null) + { + request.Detail.OverrideDomainUnitOwners = requestDetail_detail_OverrideDomainUnitOwners; + requestDetailIsNull = false; + } + Amazon.DataZone.Model.OverrideProjectOwnersPolicyGrantDetail requestDetail_detail_OverrideProjectOwners = null; + + // populate OverrideProjectOwners + var requestDetail_detail_OverrideProjectOwnersIsNull = true; + requestDetail_detail_OverrideProjectOwners = new Amazon.DataZone.Model.OverrideProjectOwnersPolicyGrantDetail(); + System.Boolean? requestDetail_detail_OverrideProjectOwners_overrideProjectOwners_IncludeChildDomainUnit = null; + if (cmdletContext.OverrideProjectOwners_IncludeChildDomainUnit != null) + { + requestDetail_detail_OverrideProjectOwners_overrideProjectOwners_IncludeChildDomainUnit = cmdletContext.OverrideProjectOwners_IncludeChildDomainUnit.Value; + } + if (requestDetail_detail_OverrideProjectOwners_overrideProjectOwners_IncludeChildDomainUnit != null) + { + requestDetail_detail_OverrideProjectOwners.IncludeChildDomainUnits = requestDetail_detail_OverrideProjectOwners_overrideProjectOwners_IncludeChildDomainUnit.Value; + requestDetail_detail_OverrideProjectOwnersIsNull = false; + } + // determine if requestDetail_detail_OverrideProjectOwners should be set to null + if (requestDetail_detail_OverrideProjectOwnersIsNull) + { + requestDetail_detail_OverrideProjectOwners = null; + } + if (requestDetail_detail_OverrideProjectOwners != null) + { + request.Detail.OverrideProjectOwners = requestDetail_detail_OverrideProjectOwners; + requestDetailIsNull = false; + } + // determine if request.Detail should be set to null + if (requestDetailIsNull) + { + request.Detail = null; + } + if (cmdletContext.DomainIdentifier != null) + { + request.DomainIdentifier = cmdletContext.DomainIdentifier; + } + if (cmdletContext.EntityIdentifier != null) + { + request.EntityIdentifier = cmdletContext.EntityIdentifier; + } + if (cmdletContext.EntityType != null) + { + request.EntityType = cmdletContext.EntityType; + } + if (cmdletContext.PolicyType != null) + { + request.PolicyType = cmdletContext.PolicyType; + } + + // populate Principal + var requestPrincipalIsNull = true; + request.Principal = new Amazon.DataZone.Model.PolicyGrantPrincipal(); + Amazon.DataZone.Model.GroupPolicyGrantPrincipal requestPrincipal_principal_Group = null; + + // populate Group + var requestPrincipal_principal_GroupIsNull = true; + requestPrincipal_principal_Group = new Amazon.DataZone.Model.GroupPolicyGrantPrincipal(); + System.String requestPrincipal_principal_Group_group_GroupIdentifier = null; + if (cmdletContext.Group_GroupIdentifier != null) + { + requestPrincipal_principal_Group_group_GroupIdentifier = cmdletContext.Group_GroupIdentifier; + } + if (requestPrincipal_principal_Group_group_GroupIdentifier != null) + { + requestPrincipal_principal_Group.GroupIdentifier = requestPrincipal_principal_Group_group_GroupIdentifier; + requestPrincipal_principal_GroupIsNull = false; + } + // determine if requestPrincipal_principal_Group should be set to null + if (requestPrincipal_principal_GroupIsNull) + { + requestPrincipal_principal_Group = null; + } + if (requestPrincipal_principal_Group != null) + { + request.Principal.Group = requestPrincipal_principal_Group; + requestPrincipalIsNull = false; + } + Amazon.DataZone.Model.UserPolicyGrantPrincipal requestPrincipal_principal_User = null; + + // populate User + var requestPrincipal_principal_UserIsNull = true; + requestPrincipal_principal_User = new Amazon.DataZone.Model.UserPolicyGrantPrincipal(); + Amazon.DataZone.Model.AllUsersGrantFilter requestPrincipal_principal_User_user_AllUsersGrantFilter = null; + if (cmdletContext.User_AllUsersGrantFilter != null) + { + requestPrincipal_principal_User_user_AllUsersGrantFilter = cmdletContext.User_AllUsersGrantFilter; + } + if (requestPrincipal_principal_User_user_AllUsersGrantFilter != null) + { + requestPrincipal_principal_User.AllUsersGrantFilter = requestPrincipal_principal_User_user_AllUsersGrantFilter; + requestPrincipal_principal_UserIsNull = false; + } + System.String requestPrincipal_principal_User_user_UserIdentifier = null; + if (cmdletContext.User_UserIdentifier != null) + { + requestPrincipal_principal_User_user_UserIdentifier = cmdletContext.User_UserIdentifier; + } + if (requestPrincipal_principal_User_user_UserIdentifier != null) + { + requestPrincipal_principal_User.UserIdentifier = requestPrincipal_principal_User_user_UserIdentifier; + requestPrincipal_principal_UserIsNull = false; + } + // determine if requestPrincipal_principal_User should be set to null + if (requestPrincipal_principal_UserIsNull) + { + requestPrincipal_principal_User = null; + } + if (requestPrincipal_principal_User != null) + { + request.Principal.User = requestPrincipal_principal_User; + requestPrincipalIsNull = false; + } + Amazon.DataZone.Model.DomainUnitPolicyGrantPrincipal requestPrincipal_principal_DomainUnit = null; + + // populate DomainUnit + var requestPrincipal_principal_DomainUnitIsNull = true; + requestPrincipal_principal_DomainUnit = new Amazon.DataZone.Model.DomainUnitPolicyGrantPrincipal(); + Amazon.DataZone.DomainUnitDesignation requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation = null; + if (cmdletContext.DomainUnit_DomainUnitDesignation != null) + { + requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation = cmdletContext.DomainUnit_DomainUnitDesignation; + } + if (requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation != null) + { + requestPrincipal_principal_DomainUnit.DomainUnitDesignation = requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation; + requestPrincipal_principal_DomainUnitIsNull = false; + } + System.String requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier = null; + if (cmdletContext.DomainUnit_DomainUnitIdentifier != null) + { + requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier = cmdletContext.DomainUnit_DomainUnitIdentifier; + } + if (requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier != null) + { + requestPrincipal_principal_DomainUnit.DomainUnitIdentifier = requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier; + requestPrincipal_principal_DomainUnitIsNull = false; + } + Amazon.DataZone.Model.DomainUnitGrantFilter requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter = null; + + // populate DomainUnitGrantFilter + var requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilterIsNull = true; + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter = new Amazon.DataZone.Model.DomainUnitGrantFilter(); + Amazon.DataZone.Model.AllDomainUnitsGrantFilter requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter = null; + if (cmdletContext.DomainUnitGrantFilter_AllDomainUnitsGrantFilter != null) + { + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter = cmdletContext.DomainUnitGrantFilter_AllDomainUnitsGrantFilter; + } + if (requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter != null) + { + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter.AllDomainUnitsGrantFilter = requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter; + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilterIsNull = false; + } + // determine if requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter should be set to null + if (requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilterIsNull) + { + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter = null; + } + if (requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter != null) + { + requestPrincipal_principal_DomainUnit.DomainUnitGrantFilter = requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter; + requestPrincipal_principal_DomainUnitIsNull = false; + } + // determine if requestPrincipal_principal_DomainUnit should be set to null + if (requestPrincipal_principal_DomainUnitIsNull) + { + requestPrincipal_principal_DomainUnit = null; + } + if (requestPrincipal_principal_DomainUnit != null) + { + request.Principal.DomainUnit = requestPrincipal_principal_DomainUnit; + requestPrincipalIsNull = false; + } + Amazon.DataZone.Model.ProjectPolicyGrantPrincipal requestPrincipal_principal_Project = null; + + // populate Project + var requestPrincipal_principal_ProjectIsNull = true; + requestPrincipal_principal_Project = new Amazon.DataZone.Model.ProjectPolicyGrantPrincipal(); + Amazon.DataZone.ProjectDesignation requestPrincipal_principal_Project_project_ProjectDesignation = null; + if (cmdletContext.Project_ProjectDesignation != null) + { + requestPrincipal_principal_Project_project_ProjectDesignation = cmdletContext.Project_ProjectDesignation; + } + if (requestPrincipal_principal_Project_project_ProjectDesignation != null) + { + requestPrincipal_principal_Project.ProjectDesignation = requestPrincipal_principal_Project_project_ProjectDesignation; + requestPrincipal_principal_ProjectIsNull = false; + } + System.String requestPrincipal_principal_Project_project_ProjectIdentifier = null; + if (cmdletContext.Project_ProjectIdentifier != null) + { + requestPrincipal_principal_Project_project_ProjectIdentifier = cmdletContext.Project_ProjectIdentifier; + } + if (requestPrincipal_principal_Project_project_ProjectIdentifier != null) + { + requestPrincipal_principal_Project.ProjectIdentifier = requestPrincipal_principal_Project_project_ProjectIdentifier; + requestPrincipal_principal_ProjectIsNull = false; + } + Amazon.DataZone.Model.ProjectGrantFilter requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter = null; + + // populate ProjectGrantFilter + var requestPrincipal_principal_Project_principal_Project_ProjectGrantFilterIsNull = true; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter = new Amazon.DataZone.Model.ProjectGrantFilter(); + Amazon.DataZone.Model.DomainUnitFilterForProject requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter = null; + + // populate DomainUnitFilter + var requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull = true; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter = new Amazon.DataZone.Model.DomainUnitFilterForProject(); + System.String requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit = null; + if (cmdletContext.DomainUnitFilter_DomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit = cmdletContext.DomainUnitFilter_DomainUnit; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter.DomainUnit = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull = false; + } + System.Boolean? requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit = null; + if (cmdletContext.DomainUnitFilter_IncludeChildDomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit = cmdletContext.DomainUnitFilter_IncludeChildDomainUnit.Value; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter.IncludeChildDomainUnits = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit.Value; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull = false; + } + // determine if requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter should be set to null + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter = null; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter.DomainUnitFilter = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilterIsNull = false; + } + // determine if requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter should be set to null + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilterIsNull) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter = null; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter != null) + { + requestPrincipal_principal_Project.ProjectGrantFilter = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter; + requestPrincipal_principal_ProjectIsNull = false; + } + // determine if requestPrincipal_principal_Project should be set to null + if (requestPrincipal_principal_ProjectIsNull) + { + requestPrincipal_principal_Project = null; + } + if (requestPrincipal_principal_Project != null) + { + request.Principal.Project = requestPrincipal_principal_Project; + requestPrincipalIsNull = false; + } + // determine if request.Principal should be set to null + if (requestPrincipalIsNull) + { + request.Principal = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DataZone.Model.AddPolicyGrantResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.AddPolicyGrantRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "AddPolicyGrant"); + try + { + #if DESKTOP + return client.AddPolicyGrant(request); + #elif CORECLR + return client.AddPolicyGrantAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.Boolean? AddToProjectMemberPool_IncludeChildDomainUnit { get; set; } + public System.Boolean? CreateAssetType_IncludeChildDomainUnit { get; set; } + public System.Boolean? CreateDomainUnit_IncludeChildDomainUnit { get; set; } + public Amazon.DataZone.Model.Unit Detail_CreateEnvironment { get; set; } + public System.String CreateEnvironmentProfile_DomainUnitId { get; set; } + public System.Boolean? CreateFormType_IncludeChildDomainUnit { get; set; } + public System.Boolean? CreateGlossary_IncludeChildDomainUnit { get; set; } + public System.Boolean? CreateProject_IncludeChildDomainUnit { get; set; } + public Amazon.DataZone.Model.Unit Detail_DelegateCreateEnvironmentProfile { get; set; } + public System.Boolean? OverrideDomainUnitOwners_IncludeChildDomainUnit { get; set; } + public System.Boolean? OverrideProjectOwners_IncludeChildDomainUnit { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String EntityIdentifier { get; set; } + public Amazon.DataZone.TargetEntityType EntityType { get; set; } + public Amazon.DataZone.ManagedPolicyType PolicyType { get; set; } + public Amazon.DataZone.DomainUnitDesignation DomainUnit_DomainUnitDesignation { get; set; } + public Amazon.DataZone.Model.AllDomainUnitsGrantFilter DomainUnitGrantFilter_AllDomainUnitsGrantFilter { get; set; } + public System.String DomainUnit_DomainUnitIdentifier { get; set; } + public System.String Group_GroupIdentifier { get; set; } + public Amazon.DataZone.ProjectDesignation Project_ProjectDesignation { get; set; } + public System.String DomainUnitFilter_DomainUnit { get; set; } + public System.Boolean? DomainUnitFilter_IncludeChildDomainUnit { get; set; } + public System.String Project_ProjectIdentifier { get; set; } + public Amazon.DataZone.Model.AllUsersGrantFilter User_AllUsersGrantFilter { get; set; } + public System.String User_UserIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Approve-DZSubscriptionRequest-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Approve-DZSubscriptionRequest-Cmdlet.cs index 247559f4db..d9ea999465 100644 --- a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Approve-DZSubscriptionRequest-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Approve-DZSubscriptionRequest-Cmdlet.cs @@ -45,6 +45,17 @@ public partial class ApproveDZSubscriptionRequestCmdlet : AmazonDataZoneClientCm protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter AssetScope + /// + /// + /// The asset scopes of the accept subscription request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("AssetScopes")] + public Amazon.DataZone.Model.AcceptedAssetScope[] AssetScope { get; set; } + #endregion + #region Parameter DecisionComment /// /// @@ -151,6 +162,10 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.Identifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.AssetScope != null) + { + context.AssetScope = new List(this.AssetScope); + } context.DecisionComment = this.DecisionComment; context.DomainIdentifier = this.DomainIdentifier; #if MODULAR @@ -182,6 +197,10 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.DataZone.Model.AcceptSubscriptionRequestRequest(); + if (cmdletContext.AssetScope != null) + { + request.AssetScopes = cmdletContext.AssetScope; + } if (cmdletContext.DecisionComment != null) { request.DecisionComment = cmdletContext.DecisionComment; @@ -255,6 +274,7 @@ private Amazon.DataZone.Model.AcceptSubscriptionRequestResponse CallAWSServiceOp internal partial class CmdletContext : ExecutorContext { + public List AssetScope { get; set; } public System.String DecisionComment { get; set; } public System.String DomainIdentifier { get; set; } public System.String Identifier { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteCertificateAuthority-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZDomainUnit-Cmdlet.cs similarity index 63% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteCertificateAuthority-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZDomainUnit-Cmdlet.cs index 1bf283439e..f442af770e 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteCertificateAuthority-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZDomainUnit-Cmdlet.cs @@ -22,30 +22,31 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.DataZone; +using Amazon.DataZone.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Provides information about the certificate authority.

        This operation is deprecated. + /// Gets the details of the specified domain unit. ///
        - [Cmdlet("Get", "WLWebsiteCertificateAuthority")] - [OutputType("Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeWebsiteCertificateAuthority API operation.", Operation = new[] {"DescribeWebsiteCertificateAuthority"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse", - "This cmdlet returns an Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "DZDomainUnit")] + [OutputType("Amazon.DataZone.Model.GetDomainUnitResponse")] + [AWSCmdlet("Calls the Amazon DataZone GetDomainUnit API operation.", Operation = new[] {"GetDomainUnit"}, SelectReturnType = typeof(Amazon.DataZone.Model.GetDomainUnitResponse))] + [AWSCmdletOutput("Amazon.DataZone.Model.GetDomainUnitResponse", + "This cmdlet returns an Amazon.DataZone.Model.GetDomainUnitResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetDZDomainUnitCmdlet : AmazonDataZoneClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter DomainIdentifier /// /// - /// The ARN of the fleet. + /// The ID of the domain where you want to get a domain unit. /// /// #if !MODULAR @@ -56,13 +57,13 @@ public partial class GetWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLinkClie [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String DomainIdentifier { get; set; } #endregion - #region Parameter WebsiteCaId + #region Parameter Identifier /// /// - /// A unique identifier for the certificate authority. + /// The identifier of the domain unit that you want to get. /// /// #if !MODULAR @@ -73,14 +74,14 @@ public partial class GetWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLinkClie [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String WebsiteCaId { get; set; } + public System.String Identifier { get; set; } #endregion #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse will result in that property being returned. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DataZone.Model.GetDomainUnitResponse). + /// Specifying the name of a property of type Amazon.DataZone.Model.GetDomainUnitResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -89,10 +90,10 @@ public partial class GetWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLinkClie #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -110,7 +111,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -119,21 +120,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.DomainIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.DomainIdentifier = this.DomainIdentifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.WebsiteCaId = this.WebsiteCaId; + context.Identifier = this.Identifier; #if MODULAR - if (this.WebsiteCaId == null && ParameterWasBound(nameof(this.WebsiteCaId))) + if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) { - WriteWarning("You are passing $null as a value for parameter WebsiteCaId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter Identifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -150,15 +151,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityRequest(); + var request = new Amazon.DataZone.Model.GetDomainUnitRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.DomainIdentifier != null) { - request.FleetArn = cmdletContext.FleetArn; + request.DomainIdentifier = cmdletContext.DomainIdentifier; } - if (cmdletContext.WebsiteCaId != null) + if (cmdletContext.Identifier != null) { - request.WebsiteCaId = cmdletContext.WebsiteCaId; + request.Identifier = cmdletContext.Identifier; } CmdletOutput output; @@ -193,15 +194,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityRequest request) + private Amazon.DataZone.Model.GetDomainUnitResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.GetDomainUnitRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeWebsiteCertificateAuthority"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "GetDomainUnit"); try { #if DESKTOP - return client.DescribeWebsiteCertificateAuthority(request); + return client.GetDomainUnit(request); #elif CORECLR - return client.DescribeWebsiteCertificateAuthorityAsync(request).GetAwaiter().GetResult(); + return client.GetDomainUnitAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -221,9 +222,9 @@ private Amazon.WorkLink.Model.DescribeWebsiteCertificateAuthorityResponse CallAW internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.String WebsiteCaId { get; set; } - public System.Func Select { get; set; } = + public System.String DomainIdentifier { get; set; } + public System.String Identifier { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => response; } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDeviceList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZDomainUnitsForParentList-Cmdlet.cs similarity index 52% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDeviceList-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZDomainUnitsForParentList-Cmdlet.cs index 2aae33fa20..c2cb6e35d9 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDeviceList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZDomainUnitsForParentList-Cmdlet.cs @@ -22,31 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.DataZone; +using Amazon.DataZone.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Retrieves a list of devices registered with the specified fleet.

        This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration.

        This operation is deprecated. + /// Lists child domain units for the specified parent domain unit.

        This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
        - [Cmdlet("Get", "WLDeviceList")] - [OutputType("Amazon.WorkLink.Model.DeviceSummary")] - [AWSCmdlet("Calls the Amazon WorkLink ListDevices API operation.", Operation = new[] {"ListDevices"}, SelectReturnType = typeof(Amazon.WorkLink.Model.ListDevicesResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DeviceSummary or Amazon.WorkLink.Model.ListDevicesResponse", - "This cmdlet returns a collection of Amazon.WorkLink.Model.DeviceSummary objects.", - "The service call response (type Amazon.WorkLink.Model.ListDevicesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "DZDomainUnitsForParentList")] + [OutputType("Amazon.DataZone.Model.DomainUnitSummary")] + [AWSCmdlet("Calls the Amazon DataZone ListDomainUnitsForParent API operation.", Operation = new[] {"ListDomainUnitsForParent"}, SelectReturnType = typeof(Amazon.DataZone.Model.ListDomainUnitsForParentResponse))] + [AWSCmdletOutput("Amazon.DataZone.Model.DomainUnitSummary or Amazon.DataZone.Model.ListDomainUnitsForParentResponse", + "This cmdlet returns a collection of Amazon.DataZone.Model.DomainUnitSummary objects.", + "The service call response (type Amazon.DataZone.Model.ListDomainUnitsForParentResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLDeviceListCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetDZDomainUnitsForParentListCmdlet : AmazonDataZoneClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter DomainIdentifier /// /// - /// The ARN of the fleet. + /// The ID of the domain in which you want to list domain units for a parent domain unit. /// /// #if !MODULAR @@ -57,30 +56,48 @@ public partial class GetWLDeviceListCmdlet : AmazonWorkLinkClientCmdlet, IExecut [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String DomainIdentifier { get; set; } #endregion - #region Parameter MaxResult + #region Parameter ParentDomainUnitIdentifier /// /// - /// The maximum number of results to be included in the next page. + /// The ID of the parent domain unit. /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ParentDomainUnitIdentifier { get; set; } + #endregion + + #region Parameter MaxResult + /// /// - ///
        Note: In AWSPowerShell and AWSPowerShell.NetCore this parameter is used to limit the total number of items returned by the cmdlet. - ///
        In AWS.Tools this parameter is simply passed to the service to specify how many items should be returned by each service call. - ///
        Pipe the output of this cmdlet into Select-Object -First to terminate retrieving data pages early and control the number of items returned. + /// The maximum number of domain units to return in a single call to ListDomainUnitsForParent. + /// When the number of domain units to be listed is greater than the value of MaxResults, + /// the response contains a NextToken value that you can use in a subsequent call to ListDomainUnitsForParent + /// to list the next set of domain units. ///
        ///
        [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - [Alias("MaxItems","MaxResults")] - public int? MaxResult { get; set; } + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } #endregion #region Parameter NextToken /// /// - /// The pagination token used to retrieve the next page of results for this operation. - /// If this value is null, it retrieves the first page. + /// When the number of domain units is greater than the default value for the MaxResults + /// parameter, or if you explicitly specify a value for MaxResults that is less than the + /// number of domain units, the response includes a pagination token named NextToken. + /// You can specify this NextToken value in a subsequent call to ListDomainUnitsForParent + /// to list the next set of domain units. /// /// ///
        Note: This parameter is only used if you are manually controlling output pagination of the service API call. @@ -93,21 +110,21 @@ public partial class GetWLDeviceListCmdlet : AmazonWorkLinkClientCmdlet, IExecut #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'Devices'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.ListDevicesResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.ListDevicesResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is 'Items'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DataZone.Model.ListDomainUnitsForParentResponse). + /// Specifying the name of a property of type Amazon.DataZone.Model.ListDomainUnitsForParentResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "Devices"; + public string Select { get; set; } = "Items"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -135,7 +152,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -144,27 +161,25 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.DomainIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.DomainIdentifier = this.DomainIdentifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif context.MaxResult = this.MaxResult; - #if !MODULAR - if (ParameterWasBound(nameof(this.MaxResult)) && this.MaxResult.HasValue) + context.NextToken = this.NextToken; + context.ParentDomainUnitIdentifier = this.ParentDomainUnitIdentifier; + #if MODULAR + if (this.ParentDomainUnitIdentifier == null && ParameterWasBound(nameof(this.ParentDomainUnitIdentifier))) { - WriteWarning("AWSPowerShell and AWSPowerShell.NetCore use the MaxResult parameter to limit the total number of items returned by the cmdlet." + - " This behavior is obsolete and will be removed in a future version of these modules. Pipe the output of this cmdlet into Select-Object -First to terminate" + - " retrieving data pages early and control the number of items returned. AWS.Tools already implements the new behavior of simply passing MaxResult" + - " to the service to specify how many items should be returned by each service call."); + WriteWarning("You are passing $null as a value for parameter ParentDomainUnitIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.NextToken = this.NextToken; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -175,7 +190,6 @@ protected override void ProcessRecord() #region IExecutor Members - #if MODULAR public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; @@ -184,15 +198,19 @@ public object Execute(ExecutorContext context) #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListDevicesRequest(); + var request = new Amazon.DataZone.Model.ListDomainUnitsForParentRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.DomainIdentifier != null) { - request.FleetArn = cmdletContext.FleetArn; + request.DomainIdentifier = cmdletContext.DomainIdentifier; } if (cmdletContext.MaxResult != null) { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToServiceTypeInt32(cmdletContext.MaxResult.Value); + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.ParentDomainUnitIdentifier != null) + { + request.ParentDomainUnitIdentifier = cmdletContext.ParentDomainUnitIdentifier; } // Initialize loop variant and commence piping @@ -241,92 +259,6 @@ public object Execute(ExecutorContext context) return null; } - #else - public object Execute(ExecutorContext context) - { - var cmdletContext = context as CmdletContext; - var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; - - // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListDevicesRequest(); - if (cmdletContext.FleetArn != null) - { - request.FleetArn = cmdletContext.FleetArn; - } - - // Initialize loop variants and commence piping - System.String _nextToken = null; - int? _emitLimit = null; - int _retrievedSoFar = 0; - if (AutoIterationHelpers.HasValue(cmdletContext.NextToken)) - { - _nextToken = cmdletContext.NextToken; - } - if (cmdletContext.MaxResult.HasValue) - { - _emitLimit = cmdletContext.MaxResult; - } - var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); - - var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); - do - { - request.NextToken = _nextToken; - if (_emitLimit.HasValue) - { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToInt32(_emitLimit.Value); - } - - CmdletOutput output; - - try - { - - var response = CallAWSServiceOperation(client, request); - object pipelineOutput = null; - if (!useParameterSelect) - { - pipelineOutput = cmdletContext.Select(response, this); - } - output = new CmdletOutput - { - PipelineOutput = pipelineOutput, - ServiceResponse = response - }; - int _receivedThisCall = response.Devices.Count; - - _nextToken = response.NextToken; - _retrievedSoFar += _receivedThisCall; - if (_emitLimit.HasValue) - { - _emitLimit -= _receivedThisCall; - } - } - catch (Exception e) - { - if (_retrievedSoFar == 0 || !_emitLimit.HasValue) - { - output = new CmdletOutput { ErrorResponse = e }; - } - else - { - break; - } - } - - ProcessOutput(output); - } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken) && (!_emitLimit.HasValue || _emitLimit.Value >= 1)); - - - if (useParameterSelect) - { - WriteObject(cmdletContext.Select(null, this)); - } - - - return null; - } - #endif public ExecutorContext CreateContext() { @@ -337,15 +269,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.ListDevicesResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.ListDevicesRequest request) + private Amazon.DataZone.Model.ListDomainUnitsForParentResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.ListDomainUnitsForParentRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "ListDevices"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "ListDomainUnitsForParent"); try { #if DESKTOP - return client.ListDevices(request); + return client.ListDomainUnitsForParent(request); #elif CORECLR - return client.ListDevicesAsync(request).GetAwaiter().GetResult(); + return client.ListDomainUnitsForParentAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -365,11 +297,12 @@ private Amazon.WorkLink.Model.ListDevicesResponse CallAWSServiceOperation(IAmazo internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public int? MaxResult { get; set; } + public System.String DomainIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.Devices; + public System.String ParentDomainUnitIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Items; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDomainList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZEntityOwnerList-Cmdlet.cs similarity index 53% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDomainList-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZEntityOwnerList-Cmdlet.cs index 7f5de4155a..5cbe3196af 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDomainList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZEntityOwnerList-Cmdlet.cs @@ -22,31 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.DataZone; +using Amazon.DataZone.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Retrieves a list of domains associated to a specified fleet.

        This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration.

        This operation is deprecated. + /// Lists the entity (domain units) owners.

        This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
        - [Cmdlet("Get", "WLDomainList")] - [OutputType("Amazon.WorkLink.Model.DomainSummary")] - [AWSCmdlet("Calls the Amazon WorkLink ListDomains API operation.", Operation = new[] {"ListDomains"}, SelectReturnType = typeof(Amazon.WorkLink.Model.ListDomainsResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DomainSummary or Amazon.WorkLink.Model.ListDomainsResponse", - "This cmdlet returns a collection of Amazon.WorkLink.Model.DomainSummary objects.", - "The service call response (type Amazon.WorkLink.Model.ListDomainsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "DZEntityOwnerList")] + [OutputType("Amazon.DataZone.Model.OwnerPropertiesOutput")] + [AWSCmdlet("Calls the Amazon DataZone ListEntityOwners API operation.", Operation = new[] {"ListEntityOwners"}, SelectReturnType = typeof(Amazon.DataZone.Model.ListEntityOwnersResponse))] + [AWSCmdletOutput("Amazon.DataZone.Model.OwnerPropertiesOutput or Amazon.DataZone.Model.ListEntityOwnersResponse", + "This cmdlet returns a collection of Amazon.DataZone.Model.OwnerPropertiesOutput objects.", + "The service call response (type Amazon.DataZone.Model.ListEntityOwnersResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLDomainListCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetDZEntityOwnerListCmdlet : AmazonDataZoneClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter DomainIdentifier /// /// - /// The ARN of the fleet. + /// The ID of the domain where you want to list entity owners. /// /// #if !MODULAR @@ -57,30 +56,65 @@ public partial class GetWLDomainListCmdlet : AmazonWorkLinkClientCmdlet, IExecut [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String DomainIdentifier { get; set; } #endregion - #region Parameter MaxResult + #region Parameter EntityIdentifier /// /// - /// The maximum number of results to be included in the next page. + /// The ID of the entity that you want to list. /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String EntityIdentifier { get; set; } + #endregion + + #region Parameter EntityType + /// + /// + /// The type of the entity that you want to list. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.DataZoneEntityType")] + public Amazon.DataZone.DataZoneEntityType EntityType { get; set; } + #endregion + + #region Parameter MaxResult + /// /// - ///
        Note: In AWSPowerShell and AWSPowerShell.NetCore this parameter is used to limit the total number of items returned by the cmdlet. - ///
        In AWS.Tools this parameter is simply passed to the service to specify how many items should be returned by each service call. - ///
        Pipe the output of this cmdlet into Select-Object -First to terminate retrieving data pages early and control the number of items returned. + /// The maximum number of entities to return in a single call to ListEntityOwners. + /// When the number of entities to be listed is greater than the value of MaxResults, + /// the response contains a NextToken value that you can use in a subsequent call + /// to ListEntityOwners to list the next set of entities. ///
        ///
        [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - [Alias("MaxItems","MaxResults")] - public int? MaxResult { get; set; } + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } #endregion #region Parameter NextToken /// /// - /// The pagination token used to retrieve the next page of results for this operation. - /// If this value is null, it retrieves the first page. + /// When the number of entities is greater than the default value for the MaxResults + /// parameter, or if you explicitly specify a value for MaxResults that is less + /// than the number of entities, the response includes a pagination token named NextToken. + /// You can specify this NextToken value in a subsequent call to ListEntityOwners + /// to list the next set of entities. /// /// ///
        Note: This parameter is only used if you are manually controlling output pagination of the service API call. @@ -93,21 +127,21 @@ public partial class GetWLDomainListCmdlet : AmazonWorkLinkClientCmdlet, IExecut #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'Domains'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.ListDomainsResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.ListDomainsResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is 'Owners'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DataZone.Model.ListEntityOwnersResponse). + /// Specifying the name of a property of type Amazon.DataZone.Model.ListEntityOwnersResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "Domains"; + public string Select { get; set; } = "Owners"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -135,7 +169,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -144,26 +178,31 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.DomainIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.DomainIdentifier = this.DomainIdentifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.MaxResult = this.MaxResult; - #if !MODULAR - if (ParameterWasBound(nameof(this.MaxResult)) && this.MaxResult.HasValue) + context.EntityIdentifier = this.EntityIdentifier; + #if MODULAR + if (this.EntityIdentifier == null && ParameterWasBound(nameof(this.EntityIdentifier))) { - WriteWarning("AWSPowerShell and AWSPowerShell.NetCore use the MaxResult parameter to limit the total number of items returned by the cmdlet." + - " This behavior is obsolete and will be removed in a future version of these modules. Pipe the output of this cmdlet into Select-Object -First to terminate" + - " retrieving data pages early and control the number of items returned. AWS.Tools already implements the new behavior of simply passing MaxResult" + - " to the service to specify how many items should be returned by each service call."); + WriteWarning("You are passing $null as a value for parameter EntityIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.EntityType = this.EntityType; + #if MODULAR + if (this.EntityType == null && ParameterWasBound(nameof(this.EntityType))) + { + WriteWarning("You are passing $null as a value for parameter EntityType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; // allow further manipulation of loaded context prior to processing @@ -175,7 +214,6 @@ protected override void ProcessRecord() #region IExecutor Members - #if MODULAR public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; @@ -184,15 +222,23 @@ public object Execute(ExecutorContext context) #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListDomainsRequest(); + var request = new Amazon.DataZone.Model.ListEntityOwnersRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.DomainIdentifier != null) { - request.FleetArn = cmdletContext.FleetArn; + request.DomainIdentifier = cmdletContext.DomainIdentifier; + } + if (cmdletContext.EntityIdentifier != null) + { + request.EntityIdentifier = cmdletContext.EntityIdentifier; + } + if (cmdletContext.EntityType != null) + { + request.EntityType = cmdletContext.EntityType; } if (cmdletContext.MaxResult != null) { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToServiceTypeInt32(cmdletContext.MaxResult.Value); + request.MaxResults = cmdletContext.MaxResult.Value; } // Initialize loop variant and commence piping @@ -241,92 +287,6 @@ public object Execute(ExecutorContext context) return null; } - #else - public object Execute(ExecutorContext context) - { - var cmdletContext = context as CmdletContext; - var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; - - // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListDomainsRequest(); - if (cmdletContext.FleetArn != null) - { - request.FleetArn = cmdletContext.FleetArn; - } - - // Initialize loop variants and commence piping - System.String _nextToken = null; - int? _emitLimit = null; - int _retrievedSoFar = 0; - if (AutoIterationHelpers.HasValue(cmdletContext.NextToken)) - { - _nextToken = cmdletContext.NextToken; - } - if (cmdletContext.MaxResult.HasValue) - { - _emitLimit = cmdletContext.MaxResult; - } - var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); - - var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); - do - { - request.NextToken = _nextToken; - if (_emitLimit.HasValue) - { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToInt32(_emitLimit.Value); - } - - CmdletOutput output; - - try - { - - var response = CallAWSServiceOperation(client, request); - object pipelineOutput = null; - if (!useParameterSelect) - { - pipelineOutput = cmdletContext.Select(response, this); - } - output = new CmdletOutput - { - PipelineOutput = pipelineOutput, - ServiceResponse = response - }; - int _receivedThisCall = response.Domains.Count; - - _nextToken = response.NextToken; - _retrievedSoFar += _receivedThisCall; - if (_emitLimit.HasValue) - { - _emitLimit -= _receivedThisCall; - } - } - catch (Exception e) - { - if (_retrievedSoFar == 0 || !_emitLimit.HasValue) - { - output = new CmdletOutput { ErrorResponse = e }; - } - else - { - break; - } - } - - ProcessOutput(output); - } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken) && (!_emitLimit.HasValue || _emitLimit.Value >= 1)); - - - if (useParameterSelect) - { - WriteObject(cmdletContext.Select(null, this)); - } - - - return null; - } - #endif public ExecutorContext CreateContext() { @@ -337,15 +297,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.ListDomainsResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.ListDomainsRequest request) + private Amazon.DataZone.Model.ListEntityOwnersResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.ListEntityOwnersRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "ListDomains"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "ListEntityOwners"); try { #if DESKTOP - return client.ListDomains(request); + return client.ListEntityOwners(request); #elif CORECLR - return client.ListDomainsAsync(request).GetAwaiter().GetResult(); + return client.ListEntityOwnersAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -365,11 +325,13 @@ private Amazon.WorkLink.Model.ListDomainsResponse CallAWSServiceOperation(IAmazo internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public int? MaxResult { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String EntityIdentifier { get; set; } + public Amazon.DataZone.DataZoneEntityType EntityType { get; set; } + public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.Domains; + public System.Func Select { get; set; } = + (response, cmdlet) => response.Owners; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteCertificateAuthorityList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZPolicyGrantList-Cmdlet.cs similarity index 51% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteCertificateAuthorityList-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZPolicyGrantList-Cmdlet.cs index acff27a351..fa4f535da5 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteCertificateAuthorityList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Get-DZPolicyGrantList-Cmdlet.cs @@ -22,31 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.DataZone; +using Amazon.DataZone.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Retrieves a list of certificate authorities added for the current account and Region.

        This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration.

        This operation is deprecated. + /// Lists policy grants.

        This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
        - [Cmdlet("Get", "WLWebsiteCertificateAuthorityList")] - [OutputType("Amazon.WorkLink.Model.WebsiteCaSummary")] - [AWSCmdlet("Calls the Amazon WorkLink ListWebsiteCertificateAuthorities API operation.", Operation = new[] {"ListWebsiteCertificateAuthorities"}, SelectReturnType = typeof(Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.WebsiteCaSummary or Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesResponse", - "This cmdlet returns a collection of Amazon.WorkLink.Model.WebsiteCaSummary objects.", - "The service call response (type Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "DZPolicyGrantList")] + [OutputType("Amazon.DataZone.Model.PolicyGrantMember")] + [AWSCmdlet("Calls the Amazon DataZone ListPolicyGrants API operation.", Operation = new[] {"ListPolicyGrants"}, SelectReturnType = typeof(Amazon.DataZone.Model.ListPolicyGrantsResponse))] + [AWSCmdletOutput("Amazon.DataZone.Model.PolicyGrantMember or Amazon.DataZone.Model.ListPolicyGrantsResponse", + "This cmdlet returns a collection of Amazon.DataZone.Model.PolicyGrantMember objects.", + "The service call response (type Amazon.DataZone.Model.ListPolicyGrantsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLWebsiteCertificateAuthorityListCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetDZPolicyGrantListCmdlet : AmazonDataZoneClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter DomainIdentifier /// /// - /// The ARN of the fleet. + /// The ID of the domain where you want to list policy grants. /// /// #if !MODULAR @@ -57,30 +56,82 @@ public partial class GetWLWebsiteCertificateAuthorityListCmdlet : AmazonWorkLink [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String DomainIdentifier { get; set; } #endregion - #region Parameter MaxResult + #region Parameter EntityIdentifier /// /// - /// The maximum number of results to be included in the next page. + /// The ID of the entity for which you want to list policy grants. /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String EntityIdentifier { get; set; } + #endregion + + #region Parameter EntityType + /// + /// + /// The type of entity for which you want to list policy grants. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.TargetEntityType")] + public Amazon.DataZone.TargetEntityType EntityType { get; set; } + #endregion + + #region Parameter PolicyType + /// /// - ///
        Note: In AWSPowerShell and AWSPowerShell.NetCore this parameter is used to limit the total number of items returned by the cmdlet. - ///
        In AWS.Tools this parameter is simply passed to the service to specify how many items should be returned by each service call. - ///
        Pipe the output of this cmdlet into Select-Object -First to terminate retrieving data pages early and control the number of items returned. + /// The type of policy that you want to list. ///
        ///
        + #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - [Alias("MaxItems","MaxResults")] - public int? MaxResult { get; set; } + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.ManagedPolicyType")] + public Amazon.DataZone.ManagedPolicyType PolicyType { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of grants to return in a single call to ListPolicyGrants. + /// When the number of grants to be listed is greater than the value of MaxResults, + /// the response contains a NextToken value that you can use in a subsequent call + /// to ListPolicyGrants to list the next set of grants. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } #endregion #region Parameter NextToken /// /// - /// The pagination token used to retrieve the next page of results for this operation. - /// If this value is null, it retrieves the first page. + /// When the number of grants is greater than the default value for the MaxResults + /// parameter, or if you explicitly specify a value for MaxResults that is less + /// than the number of grants, the response includes a pagination token named NextToken. + /// You can specify this NextToken value in a subsequent call to ListPolicyGrants + /// to list the next set of grants. /// /// ///
        Note: This parameter is only used if you are manually controlling output pagination of the service API call. @@ -93,21 +144,21 @@ public partial class GetWLWebsiteCertificateAuthorityListCmdlet : AmazonWorkLink #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'WebsiteCertificateAuthorities'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is 'GrantList'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DataZone.Model.ListPolicyGrantsResponse). + /// Specifying the name of a property of type Amazon.DataZone.Model.ListPolicyGrantsResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "WebsiteCertificateAuthorities"; + public string Select { get; set; } = "GrantList"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -135,7 +186,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -144,27 +195,39 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.DomainIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.DomainIdentifier = this.DomainIdentifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.MaxResult = this.MaxResult; - #if !MODULAR - if (ParameterWasBound(nameof(this.MaxResult)) && this.MaxResult.HasValue) + context.EntityIdentifier = this.EntityIdentifier; + #if MODULAR + if (this.EntityIdentifier == null && ParameterWasBound(nameof(this.EntityIdentifier))) { - WriteWarning("AWSPowerShell and AWSPowerShell.NetCore use the MaxResult parameter to limit the total number of items returned by the cmdlet." + - " This behavior is obsolete and will be removed in a future version of these modules. Pipe the output of this cmdlet into Select-Object -First to terminate" + - " retrieving data pages early and control the number of items returned. AWS.Tools already implements the new behavior of simply passing MaxResult" + - " to the service to specify how many items should be returned by each service call."); + WriteWarning("You are passing $null as a value for parameter EntityIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.EntityType = this.EntityType; + #if MODULAR + if (this.EntityType == null && ParameterWasBound(nameof(this.EntityType))) + { + WriteWarning("You are passing $null as a value for parameter EntityType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; + context.PolicyType = this.PolicyType; + #if MODULAR + if (this.PolicyType == null && ParameterWasBound(nameof(this.PolicyType))) + { + WriteWarning("You are passing $null as a value for parameter PolicyType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -175,7 +238,6 @@ protected override void ProcessRecord() #region IExecutor Members - #if MODULAR public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; @@ -184,15 +246,27 @@ public object Execute(ExecutorContext context) #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesRequest(); + var request = new Amazon.DataZone.Model.ListPolicyGrantsRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.DomainIdentifier != null) + { + request.DomainIdentifier = cmdletContext.DomainIdentifier; + } + if (cmdletContext.EntityIdentifier != null) + { + request.EntityIdentifier = cmdletContext.EntityIdentifier; + } + if (cmdletContext.EntityType != null) { - request.FleetArn = cmdletContext.FleetArn; + request.EntityType = cmdletContext.EntityType; } if (cmdletContext.MaxResult != null) { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToServiceTypeInt32(cmdletContext.MaxResult.Value); + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.PolicyType != null) + { + request.PolicyType = cmdletContext.PolicyType; } // Initialize loop variant and commence piping @@ -241,92 +315,6 @@ public object Execute(ExecutorContext context) return null; } - #else - public object Execute(ExecutorContext context) - { - var cmdletContext = context as CmdletContext; - var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; - - // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesRequest(); - if (cmdletContext.FleetArn != null) - { - request.FleetArn = cmdletContext.FleetArn; - } - - // Initialize loop variants and commence piping - System.String _nextToken = null; - int? _emitLimit = null; - int _retrievedSoFar = 0; - if (AutoIterationHelpers.HasValue(cmdletContext.NextToken)) - { - _nextToken = cmdletContext.NextToken; - } - if (cmdletContext.MaxResult.HasValue) - { - _emitLimit = cmdletContext.MaxResult; - } - var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); - - var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); - do - { - request.NextToken = _nextToken; - if (_emitLimit.HasValue) - { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToInt32(_emitLimit.Value); - } - - CmdletOutput output; - - try - { - - var response = CallAWSServiceOperation(client, request); - object pipelineOutput = null; - if (!useParameterSelect) - { - pipelineOutput = cmdletContext.Select(response, this); - } - output = new CmdletOutput - { - PipelineOutput = pipelineOutput, - ServiceResponse = response - }; - int _receivedThisCall = response.WebsiteCertificateAuthorities.Count; - - _nextToken = response.NextToken; - _retrievedSoFar += _receivedThisCall; - if (_emitLimit.HasValue) - { - _emitLimit -= _receivedThisCall; - } - } - catch (Exception e) - { - if (_retrievedSoFar == 0 || !_emitLimit.HasValue) - { - output = new CmdletOutput { ErrorResponse = e }; - } - else - { - break; - } - } - - ProcessOutput(output); - } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken) && (!_emitLimit.HasValue || _emitLimit.Value >= 1)); - - - if (useParameterSelect) - { - WriteObject(cmdletContext.Select(null, this)); - } - - - return null; - } - #endif public ExecutorContext CreateContext() { @@ -337,15 +325,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesRequest request) + private Amazon.DataZone.Model.ListPolicyGrantsResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.ListPolicyGrantsRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "ListWebsiteCertificateAuthorities"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "ListPolicyGrants"); try { #if DESKTOP - return client.ListWebsiteCertificateAuthorities(request); + return client.ListPolicyGrants(request); #elif CORECLR - return client.ListWebsiteCertificateAuthoritiesAsync(request).GetAwaiter().GetResult(); + return client.ListPolicyGrantsAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -365,11 +353,14 @@ private Amazon.WorkLink.Model.ListWebsiteCertificateAuthoritiesResponse CallAWSS internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public int? MaxResult { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String EntityIdentifier { get; set; } + public Amazon.DataZone.TargetEntityType EntityType { get; set; } + public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.WebsiteCertificateAuthorities; + public Amazon.DataZone.ManagedPolicyType PolicyType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.GrantList; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLCompanyNetworkConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZDomainUnit-Cmdlet.cs similarity index 57% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLCompanyNetworkConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZDomainUnit-Cmdlet.cs index a640f04c3a..e341ad1913 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLCompanyNetworkConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZDomainUnit-Cmdlet.cs @@ -22,31 +22,43 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.DataZone; +using Amazon.DataZone.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Updates the company network configuration for the fleet.

        This operation is deprecated. + /// Creates a domain unit in Amazon DataZone. ///
        - [Cmdlet("Update", "WLCompanyNetworkConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink UpdateCompanyNetworkConfiguration API operation.", Operation = new[] {"UpdateCompanyNetworkConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.UpdateCompanyNetworkConfigurationResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.UpdateCompanyNetworkConfigurationResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.UpdateCompanyNetworkConfigurationResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("New", "DZDomainUnit", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DataZone.Model.CreateDomainUnitResponse")] + [AWSCmdlet("Calls the Amazon DataZone CreateDomainUnit API operation.", Operation = new[] {"CreateDomainUnit"}, SelectReturnType = typeof(Amazon.DataZone.Model.CreateDomainUnitResponse))] + [AWSCmdletOutput("Amazon.DataZone.Model.CreateDomainUnitResponse", + "This cmdlet returns an Amazon.DataZone.Model.CreateDomainUnitResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UpdateWLCompanyNetworkConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class NewDZDomainUnitCmdlet : AmazonDataZoneClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter Description + /// + /// + /// The description of the domain unit. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Description { get; set; } + #endregion + + #region Parameter DomainIdentifier /// /// - /// The ARN of the fleet. + /// The ID of the domain where you want to crate a domain unit. /// /// #if !MODULAR @@ -57,66 +69,59 @@ public partial class UpdateWLCompanyNetworkConfigurationCmdlet : AmazonWorkLinkC [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String DomainIdentifier { get; set; } #endregion - #region Parameter SecurityGroupId + #region Parameter Name /// /// - /// The security groups associated with access to the provided subnets. + /// The name of the domain unit. /// /// #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - [Alias("SecurityGroupIds")] - public System.String[] SecurityGroupId { get; set; } + public System.String Name { get; set; } #endregion - #region Parameter SubnetId + #region Parameter ParentDomainUnitIdentifier /// /// - /// The subnets used for X-ENI connections from Amazon WorkLink rendering containers. + /// The ID of the parent domain unit. /// /// #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - [Alias("SubnetIds")] - public System.String[] SubnetId { get; set; } + public System.String ParentDomainUnitIdentifier { get; set; } #endregion - #region Parameter VpcId + #region Parameter ClientToken /// /// - /// The VPC with connectivity to associated websites. + /// A unique, case-sensitive identifier that is provided to ensure the idempotency of + /// the request. /// /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String VpcId { get; set; } + public System.String ClientToken { get; set; } #endregion #region Parameter Select /// - /// 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.WorkLink.Model.UpdateCompanyNetworkConfigurationResponse). + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DataZone.Model.CreateDomainUnitResponse). + /// Specifying the name of a property of type Amazon.DataZone.Model.CreateDomainUnitResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -125,10 +130,10 @@ public partial class UpdateWLCompanyNetworkConfigurationCmdlet : AmazonWorkLinkC #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -148,8 +153,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-WLCompanyNetworkConfiguration (UpdateCompanyNetworkConfiguration)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ParentDomainUnitIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-DZDomainUnit (CreateDomainUnit)")) { return; } @@ -162,7 +167,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -171,41 +176,30 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.DomainIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; - #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) - { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif - if (this.SecurityGroupId != null) - { - context.SecurityGroupId = new List(this.SecurityGroupId); - } + context.ClientToken = this.ClientToken; + context.Description = this.Description; + context.DomainIdentifier = this.DomainIdentifier; #if MODULAR - if (this.SecurityGroupId == null && ParameterWasBound(nameof(this.SecurityGroupId))) + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) { - WriteWarning("You are passing $null as a value for parameter SecurityGroupId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - if (this.SubnetId != null) - { - context.SubnetId = new List(this.SubnetId); - } + context.Name = this.Name; #if MODULAR - if (this.SubnetId == null && ParameterWasBound(nameof(this.SubnetId))) + if (this.Name == null && ParameterWasBound(nameof(this.Name))) { - WriteWarning("You are passing $null as a value for parameter SubnetId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter Name which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.VpcId = this.VpcId; + context.ParentDomainUnitIdentifier = this.ParentDomainUnitIdentifier; #if MODULAR - if (this.VpcId == null && ParameterWasBound(nameof(this.VpcId))) + if (this.ParentDomainUnitIdentifier == null && ParameterWasBound(nameof(this.ParentDomainUnitIdentifier))) { - WriteWarning("You are passing $null as a value for parameter VpcId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ParentDomainUnitIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -222,23 +216,27 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.UpdateCompanyNetworkConfigurationRequest(); + var request = new Amazon.DataZone.Model.CreateDomainUnitRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.Description != null) { - request.FleetArn = cmdletContext.FleetArn; + request.Description = cmdletContext.Description; } - if (cmdletContext.SecurityGroupId != null) + if (cmdletContext.DomainIdentifier != null) { - request.SecurityGroupIds = cmdletContext.SecurityGroupId; + request.DomainIdentifier = cmdletContext.DomainIdentifier; } - if (cmdletContext.SubnetId != null) + if (cmdletContext.Name != null) { - request.SubnetIds = cmdletContext.SubnetId; + request.Name = cmdletContext.Name; } - if (cmdletContext.VpcId != null) + if (cmdletContext.ParentDomainUnitIdentifier != null) { - request.VpcId = cmdletContext.VpcId; + request.ParentDomainUnitIdentifier = cmdletContext.ParentDomainUnitIdentifier; } CmdletOutput output; @@ -273,15 +271,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.UpdateCompanyNetworkConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.UpdateCompanyNetworkConfigurationRequest request) + private Amazon.DataZone.Model.CreateDomainUnitResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.CreateDomainUnitRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "UpdateCompanyNetworkConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "CreateDomainUnit"); try { #if DESKTOP - return client.UpdateCompanyNetworkConfiguration(request); + return client.CreateDomainUnit(request); #elif CORECLR - return client.UpdateCompanyNetworkConfigurationAsync(request).GetAwaiter().GetResult(); + return client.CreateDomainUnitAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -301,12 +299,13 @@ private Amazon.WorkLink.Model.UpdateCompanyNetworkConfigurationResponse CallAWSS internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public List SecurityGroupId { get; set; } - public List SubnetId { get; set; } - public System.String VpcId { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; + public System.String ClientToken { get; set; } + public System.String Description { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String Name { get; set; } + public System.String ParentDomainUnitIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZProject-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZProject-Cmdlet.cs index 4ea038cc05..dc819b0311 100644 --- a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZProject-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZProject-Cmdlet.cs @@ -73,6 +73,17 @@ public partial class NewDZProjectCmdlet : AmazonDataZoneClientCmdlet, IExecutor public System.String DomainIdentifier { get; set; } #endregion + #region Parameter DomainUnitId + /// + /// + /// The ID of the domain unit. This parameter is not required and if it is not specified, + /// then the project is created at the root domain unit level. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String DomainUnitId { get; set; } + #endregion + #region Parameter GlossaryTerm /// /// @@ -171,6 +182,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.DomainUnitId = this.DomainUnitId; if (this.GlossaryTerm != null) { context.GlossaryTerm = new List(this.GlossaryTerm); @@ -206,6 +218,10 @@ public object Execute(ExecutorContext context) { request.DomainIdentifier = cmdletContext.DomainIdentifier; } + if (cmdletContext.DomainUnitId != null) + { + request.DomainUnitId = cmdletContext.DomainUnitId; + } if (cmdletContext.GlossaryTerm != null) { request.GlossaryTerms = cmdletContext.GlossaryTerm; @@ -277,6 +293,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String Description { get; set; } public System.String DomainIdentifier { get; set; } + public System.String DomainUnitId { get; set; } public List GlossaryTerm { get; set; } public System.String Name { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZDataProduct-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZDataProduct-Cmdlet.cs index 2cbae248dc..8f2d6d3920 100644 --- a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZDataProduct-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZDataProduct-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Deletes an data product in Amazon DataZone. + /// Deletes a data product in Amazon DataZone. /// [Cmdlet("Remove", "DZDataProduct", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Revoke-WLDomainAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZDomainUnit-Cmdlet.cs similarity index 69% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Revoke-WLDomainAccess-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZDomainUnit-Cmdlet.cs index fa114db5a0..1584dd1a24 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Revoke-WLDomainAccess-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZDomainUnit-Cmdlet.cs @@ -22,65 +22,64 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.DataZone; +using Amazon.DataZone.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Moves a domain to INACTIVE status if it was in the ACTIVE status.

        This operation is deprecated. + /// Deletes a domain unit. ///
        - [Cmdlet("Revoke", "WLDomainAccess", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [Cmdlet("Remove", "DZDomainUnit", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink RevokeDomainAccess API operation.", Operation = new[] {"RevokeDomainAccess"}, SelectReturnType = typeof(Amazon.WorkLink.Model.RevokeDomainAccessResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.RevokeDomainAccessResponse", + [AWSCmdlet("Calls the Amazon DataZone DeleteDomainUnit API operation.", Operation = new[] {"DeleteDomainUnit"}, SelectReturnType = typeof(Amazon.DataZone.Model.DeleteDomainUnitResponse))] + [AWSCmdletOutput("None or Amazon.DataZone.Model.DeleteDomainUnitResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.RevokeDomainAccessResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.DataZone.Model.DeleteDomainUnitResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class RevokeWLDomainAccessCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemoveDZDomainUnitCmdlet : AmazonDataZoneClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DomainName + #region Parameter DomainIdentifier /// /// - /// The name of the domain. + /// The ID of the domain where you want to delete a domain unit. /// /// #if !MODULAR - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String DomainName { get; set; } + public System.String DomainIdentifier { get; set; } #endregion - #region Parameter FleetArn + #region Parameter Identifier /// /// - /// The ARN of the fleet. + /// The ID of the domain unit that you want to delete. /// /// #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String Identifier { get; set; } #endregion #region Parameter Select /// /// 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.WorkLink.Model.RevokeDomainAccessResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DataZone.Model.DeleteDomainUnitResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -89,10 +88,10 @@ public partial class RevokeWLDomainAccessCmdlet : AmazonWorkLinkClientCmdlet, IE #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -112,8 +111,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Revoke-WLDomainAccess (RevokeDomainAccess)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.Identifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DZDomainUnit (DeleteDomainUnit)")) { return; } @@ -126,7 +125,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -135,21 +134,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.DomainIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DomainName = this.DomainName; + context.DomainIdentifier = this.DomainIdentifier; #if MODULAR - if (this.DomainName == null && ParameterWasBound(nameof(this.DomainName))) + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) { - WriteWarning("You are passing $null as a value for parameter DomainName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.Identifier = this.Identifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter Identifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -166,15 +165,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.RevokeDomainAccessRequest(); + var request = new Amazon.DataZone.Model.DeleteDomainUnitRequest(); - if (cmdletContext.DomainName != null) + if (cmdletContext.DomainIdentifier != null) { - request.DomainName = cmdletContext.DomainName; + request.DomainIdentifier = cmdletContext.DomainIdentifier; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.Identifier != null) { - request.FleetArn = cmdletContext.FleetArn; + request.Identifier = cmdletContext.Identifier; } CmdletOutput output; @@ -209,15 +208,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.RevokeDomainAccessResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.RevokeDomainAccessRequest request) + private Amazon.DataZone.Model.DeleteDomainUnitResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.DeleteDomainUnitRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "RevokeDomainAccess"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "DeleteDomainUnit"); try { #if DESKTOP - return client.RevokeDomainAccess(request); + return client.DeleteDomainUnit(request); #elif CORECLR - return client.RevokeDomainAccessAsync(request).GetAwaiter().GetResult(); + return client.DeleteDomainUnitAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -237,9 +236,9 @@ private Amazon.WorkLink.Model.RevokeDomainAccessResponse CallAWSServiceOperation internal partial class CmdletContext : ExecutorContext { - public System.String DomainName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String DomainIdentifier { get; set; } + public System.String Identifier { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZEntityOwner-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZEntityOwner-Cmdlet.cs new file mode 100644 index 0000000000..762230bd98 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZEntityOwner-Cmdlet.cs @@ -0,0 +1,377 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DataZone; +using Amazon.DataZone.Model; + +namespace Amazon.PowerShell.Cmdlets.DZ +{ + /// + /// Removes an owner from an entity. + /// + [Cmdlet("Remove", "DZEntityOwner", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the Amazon DataZone RemoveEntityOwner API operation.", Operation = new[] {"RemoveEntityOwner"}, SelectReturnType = typeof(Amazon.DataZone.Model.RemoveEntityOwnerResponse))] + [AWSCmdletOutput("None or Amazon.DataZone.Model.RemoveEntityOwnerResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DataZone.Model.RemoveEntityOwnerResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDZEntityOwnerCmdlet : AmazonDataZoneClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DomainIdentifier + /// + /// + /// The ID of the domain where you want to remove an owner from an entity. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DomainIdentifier { get; set; } + #endregion + + #region Parameter EntityIdentifier + /// + /// + /// The ID of the entity from which you want to remove an owner. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String EntityIdentifier { get; set; } + #endregion + + #region Parameter EntityType + /// + /// + /// The type of the entity from which you want to remove an owner. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.DataZoneEntityType")] + public Amazon.DataZone.DataZoneEntityType EntityType { get; set; } + #endregion + + #region Parameter Group_GroupIdentifier + /// + /// + /// The ID of the domain unit owners group. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Owner_Group_GroupIdentifier")] + public System.String Group_GroupIdentifier { get; set; } + #endregion + + #region Parameter User_UserIdentifier + /// + /// + /// The ID of the owner user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Owner_User_UserIdentifier")] + public System.String User_UserIdentifier { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that is provided to ensure the idempotency of + /// the request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DataZone.Model.RemoveEntityOwnerResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.EntityIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DZEntityOwner (RemoveEntityOwner)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DomainIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.DomainIdentifier = this.DomainIdentifier; + #if MODULAR + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityIdentifier = this.EntityIdentifier; + #if MODULAR + if (this.EntityIdentifier == null && ParameterWasBound(nameof(this.EntityIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EntityIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityType = this.EntityType; + #if MODULAR + if (this.EntityType == null && ParameterWasBound(nameof(this.EntityType))) + { + WriteWarning("You are passing $null as a value for parameter EntityType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Group_GroupIdentifier = this.Group_GroupIdentifier; + context.User_UserIdentifier = this.User_UserIdentifier; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DataZone.Model.RemoveEntityOwnerRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DomainIdentifier != null) + { + request.DomainIdentifier = cmdletContext.DomainIdentifier; + } + if (cmdletContext.EntityIdentifier != null) + { + request.EntityIdentifier = cmdletContext.EntityIdentifier; + } + if (cmdletContext.EntityType != null) + { + request.EntityType = cmdletContext.EntityType; + } + + // populate Owner + var requestOwnerIsNull = true; + request.Owner = new Amazon.DataZone.Model.OwnerProperties(); + Amazon.DataZone.Model.OwnerGroupProperties requestOwner_owner_Group = null; + + // populate Group + var requestOwner_owner_GroupIsNull = true; + requestOwner_owner_Group = new Amazon.DataZone.Model.OwnerGroupProperties(); + System.String requestOwner_owner_Group_group_GroupIdentifier = null; + if (cmdletContext.Group_GroupIdentifier != null) + { + requestOwner_owner_Group_group_GroupIdentifier = cmdletContext.Group_GroupIdentifier; + } + if (requestOwner_owner_Group_group_GroupIdentifier != null) + { + requestOwner_owner_Group.GroupIdentifier = requestOwner_owner_Group_group_GroupIdentifier; + requestOwner_owner_GroupIsNull = false; + } + // determine if requestOwner_owner_Group should be set to null + if (requestOwner_owner_GroupIsNull) + { + requestOwner_owner_Group = null; + } + if (requestOwner_owner_Group != null) + { + request.Owner.Group = requestOwner_owner_Group; + requestOwnerIsNull = false; + } + Amazon.DataZone.Model.OwnerUserProperties requestOwner_owner_User = null; + + // populate User + var requestOwner_owner_UserIsNull = true; + requestOwner_owner_User = new Amazon.DataZone.Model.OwnerUserProperties(); + System.String requestOwner_owner_User_user_UserIdentifier = null; + if (cmdletContext.User_UserIdentifier != null) + { + requestOwner_owner_User_user_UserIdentifier = cmdletContext.User_UserIdentifier; + } + if (requestOwner_owner_User_user_UserIdentifier != null) + { + requestOwner_owner_User.UserIdentifier = requestOwner_owner_User_user_UserIdentifier; + requestOwner_owner_UserIsNull = false; + } + // determine if requestOwner_owner_User should be set to null + if (requestOwner_owner_UserIsNull) + { + requestOwner_owner_User = null; + } + if (requestOwner_owner_User != null) + { + request.Owner.User = requestOwner_owner_User; + requestOwnerIsNull = false; + } + // determine if request.Owner should be set to null + if (requestOwnerIsNull) + { + request.Owner = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DataZone.Model.RemoveEntityOwnerResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.RemoveEntityOwnerRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "RemoveEntityOwner"); + try + { + #if DESKTOP + return client.RemoveEntityOwner(request); + #elif CORECLR + return client.RemoveEntityOwnerAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String EntityIdentifier { get; set; } + public Amazon.DataZone.DataZoneEntityType EntityType { get; set; } + public System.String Group_GroupIdentifier { get; set; } + public System.String User_UserIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZPolicyGrant-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZPolicyGrant-Cmdlet.cs new file mode 100644 index 0000000000..ff7adaaacd --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Remove-DZPolicyGrant-Cmdlet.cs @@ -0,0 +1,667 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DataZone; +using Amazon.DataZone.Model; + +namespace Amazon.PowerShell.Cmdlets.DZ +{ + /// + /// Removes a policy grant. + /// + [Cmdlet("Remove", "DZPolicyGrant", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the Amazon DataZone RemovePolicyGrant API operation.", Operation = new[] {"RemovePolicyGrant"}, SelectReturnType = typeof(Amazon.DataZone.Model.RemovePolicyGrantResponse))] + [AWSCmdletOutput("None or Amazon.DataZone.Model.RemovePolicyGrantResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DataZone.Model.RemovePolicyGrantResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDZPolicyGrantCmdlet : AmazonDataZoneClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DomainUnitGrantFilter_AllDomainUnitsGrantFilter + /// + /// + /// Specifies a grant filter containing all domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_DomainUnit_DomainUnitGrantFilter_AllDomainUnitsGrantFilter")] + public Amazon.DataZone.Model.AllDomainUnitsGrantFilter DomainUnitGrantFilter_AllDomainUnitsGrantFilter { get; set; } + #endregion + + #region Parameter User_AllUsersGrantFilter + /// + /// + /// The all users grant filter of the user policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_User_AllUsersGrantFilter")] + public Amazon.DataZone.Model.AllUsersGrantFilter User_AllUsersGrantFilter { get; set; } + #endregion + + #region Parameter DomainIdentifier + /// + /// + /// The ID of the domain where you want to remove a policy grant. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DomainIdentifier { get; set; } + #endregion + + #region Parameter DomainUnitFilter_DomainUnit + /// + /// + /// The domain unit ID to use in the filter. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectGrantFilter_DomainUnitFilter_DomainUnit")] + public System.String DomainUnitFilter_DomainUnit { get; set; } + #endregion + + #region Parameter DomainUnit_DomainUnitDesignation + /// + /// + /// Specifes the designation of the domain unit users. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_DomainUnit_DomainUnitDesignation")] + [AWSConstantClassSource("Amazon.DataZone.DomainUnitDesignation")] + public Amazon.DataZone.DomainUnitDesignation DomainUnit_DomainUnitDesignation { get; set; } + #endregion + + #region Parameter DomainUnit_DomainUnitIdentifier + /// + /// + /// The ID of the domain unit. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_DomainUnit_DomainUnitIdentifier")] + public System.String DomainUnit_DomainUnitIdentifier { get; set; } + #endregion + + #region Parameter EntityIdentifier + /// + /// + /// The ID of the entity from which you want to remove a policy grant. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String EntityIdentifier { get; set; } + #endregion + + #region Parameter EntityType + /// + /// + /// The type of the entity from which you want to remove a policy grant. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.TargetEntityType")] + public Amazon.DataZone.TargetEntityType EntityType { get; set; } + #endregion + + #region Parameter Group_GroupIdentifier + /// + /// + /// The ID Of the group of the group principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Group_GroupIdentifier")] + public System.String Group_GroupIdentifier { get; set; } + #endregion + + #region Parameter DomainUnitFilter_IncludeChildDomainUnit + /// + /// + /// Specifies whether to include child domain units. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectGrantFilter_DomainUnitFilter_IncludeChildDomainUnits")] + public System.Boolean? DomainUnitFilter_IncludeChildDomainUnit { get; set; } + #endregion + + #region Parameter PolicyType + /// + /// + /// The type of the policy that you want to remove. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DataZone.ManagedPolicyType")] + public Amazon.DataZone.ManagedPolicyType PolicyType { get; set; } + #endregion + + #region Parameter Project_ProjectDesignation + /// + /// + /// The project designation of the project policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectDesignation")] + [AWSConstantClassSource("Amazon.DataZone.ProjectDesignation")] + public Amazon.DataZone.ProjectDesignation Project_ProjectDesignation { get; set; } + #endregion + + #region Parameter Project_ProjectIdentifier + /// + /// + /// The project ID of the project policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_Project_ProjectIdentifier")] + public System.String Project_ProjectIdentifier { get; set; } + #endregion + + #region Parameter User_UserIdentifier + /// + /// + /// The user ID of the user policy grant principal. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Principal_User_UserIdentifier")] + public System.String User_UserIdentifier { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that is provided to ensure the idempotency of + /// the request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DataZone.Model.RemovePolicyGrantResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.EntityIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DZPolicyGrant (RemovePolicyGrant)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DomainIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.DomainIdentifier = this.DomainIdentifier; + #if MODULAR + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityIdentifier = this.EntityIdentifier; + #if MODULAR + if (this.EntityIdentifier == null && ParameterWasBound(nameof(this.EntityIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EntityIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EntityType = this.EntityType; + #if MODULAR + if (this.EntityType == null && ParameterWasBound(nameof(this.EntityType))) + { + WriteWarning("You are passing $null as a value for parameter EntityType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.PolicyType = this.PolicyType; + #if MODULAR + if (this.PolicyType == null && ParameterWasBound(nameof(this.PolicyType))) + { + WriteWarning("You are passing $null as a value for parameter PolicyType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.DomainUnit_DomainUnitDesignation = this.DomainUnit_DomainUnitDesignation; + context.DomainUnitGrantFilter_AllDomainUnitsGrantFilter = this.DomainUnitGrantFilter_AllDomainUnitsGrantFilter; + context.DomainUnit_DomainUnitIdentifier = this.DomainUnit_DomainUnitIdentifier; + context.Group_GroupIdentifier = this.Group_GroupIdentifier; + context.Project_ProjectDesignation = this.Project_ProjectDesignation; + context.DomainUnitFilter_DomainUnit = this.DomainUnitFilter_DomainUnit; + context.DomainUnitFilter_IncludeChildDomainUnit = this.DomainUnitFilter_IncludeChildDomainUnit; + context.Project_ProjectIdentifier = this.Project_ProjectIdentifier; + context.User_AllUsersGrantFilter = this.User_AllUsersGrantFilter; + context.User_UserIdentifier = this.User_UserIdentifier; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DataZone.Model.RemovePolicyGrantRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DomainIdentifier != null) + { + request.DomainIdentifier = cmdletContext.DomainIdentifier; + } + if (cmdletContext.EntityIdentifier != null) + { + request.EntityIdentifier = cmdletContext.EntityIdentifier; + } + if (cmdletContext.EntityType != null) + { + request.EntityType = cmdletContext.EntityType; + } + if (cmdletContext.PolicyType != null) + { + request.PolicyType = cmdletContext.PolicyType; + } + + // populate Principal + var requestPrincipalIsNull = true; + request.Principal = new Amazon.DataZone.Model.PolicyGrantPrincipal(); + Amazon.DataZone.Model.GroupPolicyGrantPrincipal requestPrincipal_principal_Group = null; + + // populate Group + var requestPrincipal_principal_GroupIsNull = true; + requestPrincipal_principal_Group = new Amazon.DataZone.Model.GroupPolicyGrantPrincipal(); + System.String requestPrincipal_principal_Group_group_GroupIdentifier = null; + if (cmdletContext.Group_GroupIdentifier != null) + { + requestPrincipal_principal_Group_group_GroupIdentifier = cmdletContext.Group_GroupIdentifier; + } + if (requestPrincipal_principal_Group_group_GroupIdentifier != null) + { + requestPrincipal_principal_Group.GroupIdentifier = requestPrincipal_principal_Group_group_GroupIdentifier; + requestPrincipal_principal_GroupIsNull = false; + } + // determine if requestPrincipal_principal_Group should be set to null + if (requestPrincipal_principal_GroupIsNull) + { + requestPrincipal_principal_Group = null; + } + if (requestPrincipal_principal_Group != null) + { + request.Principal.Group = requestPrincipal_principal_Group; + requestPrincipalIsNull = false; + } + Amazon.DataZone.Model.UserPolicyGrantPrincipal requestPrincipal_principal_User = null; + + // populate User + var requestPrincipal_principal_UserIsNull = true; + requestPrincipal_principal_User = new Amazon.DataZone.Model.UserPolicyGrantPrincipal(); + Amazon.DataZone.Model.AllUsersGrantFilter requestPrincipal_principal_User_user_AllUsersGrantFilter = null; + if (cmdletContext.User_AllUsersGrantFilter != null) + { + requestPrincipal_principal_User_user_AllUsersGrantFilter = cmdletContext.User_AllUsersGrantFilter; + } + if (requestPrincipal_principal_User_user_AllUsersGrantFilter != null) + { + requestPrincipal_principal_User.AllUsersGrantFilter = requestPrincipal_principal_User_user_AllUsersGrantFilter; + requestPrincipal_principal_UserIsNull = false; + } + System.String requestPrincipal_principal_User_user_UserIdentifier = null; + if (cmdletContext.User_UserIdentifier != null) + { + requestPrincipal_principal_User_user_UserIdentifier = cmdletContext.User_UserIdentifier; + } + if (requestPrincipal_principal_User_user_UserIdentifier != null) + { + requestPrincipal_principal_User.UserIdentifier = requestPrincipal_principal_User_user_UserIdentifier; + requestPrincipal_principal_UserIsNull = false; + } + // determine if requestPrincipal_principal_User should be set to null + if (requestPrincipal_principal_UserIsNull) + { + requestPrincipal_principal_User = null; + } + if (requestPrincipal_principal_User != null) + { + request.Principal.User = requestPrincipal_principal_User; + requestPrincipalIsNull = false; + } + Amazon.DataZone.Model.DomainUnitPolicyGrantPrincipal requestPrincipal_principal_DomainUnit = null; + + // populate DomainUnit + var requestPrincipal_principal_DomainUnitIsNull = true; + requestPrincipal_principal_DomainUnit = new Amazon.DataZone.Model.DomainUnitPolicyGrantPrincipal(); + Amazon.DataZone.DomainUnitDesignation requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation = null; + if (cmdletContext.DomainUnit_DomainUnitDesignation != null) + { + requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation = cmdletContext.DomainUnit_DomainUnitDesignation; + } + if (requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation != null) + { + requestPrincipal_principal_DomainUnit.DomainUnitDesignation = requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitDesignation; + requestPrincipal_principal_DomainUnitIsNull = false; + } + System.String requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier = null; + if (cmdletContext.DomainUnit_DomainUnitIdentifier != null) + { + requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier = cmdletContext.DomainUnit_DomainUnitIdentifier; + } + if (requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier != null) + { + requestPrincipal_principal_DomainUnit.DomainUnitIdentifier = requestPrincipal_principal_DomainUnit_domainUnit_DomainUnitIdentifier; + requestPrincipal_principal_DomainUnitIsNull = false; + } + Amazon.DataZone.Model.DomainUnitGrantFilter requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter = null; + + // populate DomainUnitGrantFilter + var requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilterIsNull = true; + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter = new Amazon.DataZone.Model.DomainUnitGrantFilter(); + Amazon.DataZone.Model.AllDomainUnitsGrantFilter requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter = null; + if (cmdletContext.DomainUnitGrantFilter_AllDomainUnitsGrantFilter != null) + { + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter = cmdletContext.DomainUnitGrantFilter_AllDomainUnitsGrantFilter; + } + if (requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter != null) + { + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter.AllDomainUnitsGrantFilter = requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter_domainUnitGrantFilter_AllDomainUnitsGrantFilter; + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilterIsNull = false; + } + // determine if requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter should be set to null + if (requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilterIsNull) + { + requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter = null; + } + if (requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter != null) + { + requestPrincipal_principal_DomainUnit.DomainUnitGrantFilter = requestPrincipal_principal_DomainUnit_principal_DomainUnit_DomainUnitGrantFilter; + requestPrincipal_principal_DomainUnitIsNull = false; + } + // determine if requestPrincipal_principal_DomainUnit should be set to null + if (requestPrincipal_principal_DomainUnitIsNull) + { + requestPrincipal_principal_DomainUnit = null; + } + if (requestPrincipal_principal_DomainUnit != null) + { + request.Principal.DomainUnit = requestPrincipal_principal_DomainUnit; + requestPrincipalIsNull = false; + } + Amazon.DataZone.Model.ProjectPolicyGrantPrincipal requestPrincipal_principal_Project = null; + + // populate Project + var requestPrincipal_principal_ProjectIsNull = true; + requestPrincipal_principal_Project = new Amazon.DataZone.Model.ProjectPolicyGrantPrincipal(); + Amazon.DataZone.ProjectDesignation requestPrincipal_principal_Project_project_ProjectDesignation = null; + if (cmdletContext.Project_ProjectDesignation != null) + { + requestPrincipal_principal_Project_project_ProjectDesignation = cmdletContext.Project_ProjectDesignation; + } + if (requestPrincipal_principal_Project_project_ProjectDesignation != null) + { + requestPrincipal_principal_Project.ProjectDesignation = requestPrincipal_principal_Project_project_ProjectDesignation; + requestPrincipal_principal_ProjectIsNull = false; + } + System.String requestPrincipal_principal_Project_project_ProjectIdentifier = null; + if (cmdletContext.Project_ProjectIdentifier != null) + { + requestPrincipal_principal_Project_project_ProjectIdentifier = cmdletContext.Project_ProjectIdentifier; + } + if (requestPrincipal_principal_Project_project_ProjectIdentifier != null) + { + requestPrincipal_principal_Project.ProjectIdentifier = requestPrincipal_principal_Project_project_ProjectIdentifier; + requestPrincipal_principal_ProjectIsNull = false; + } + Amazon.DataZone.Model.ProjectGrantFilter requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter = null; + + // populate ProjectGrantFilter + var requestPrincipal_principal_Project_principal_Project_ProjectGrantFilterIsNull = true; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter = new Amazon.DataZone.Model.ProjectGrantFilter(); + Amazon.DataZone.Model.DomainUnitFilterForProject requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter = null; + + // populate DomainUnitFilter + var requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull = true; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter = new Amazon.DataZone.Model.DomainUnitFilterForProject(); + System.String requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit = null; + if (cmdletContext.DomainUnitFilter_DomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit = cmdletContext.DomainUnitFilter_DomainUnit; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter.DomainUnit = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_DomainUnit; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull = false; + } + System.Boolean? requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit = null; + if (cmdletContext.DomainUnitFilter_IncludeChildDomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit = cmdletContext.DomainUnitFilter_IncludeChildDomainUnit.Value; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter.IncludeChildDomainUnits = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter_domainUnitFilter_IncludeChildDomainUnit.Value; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull = false; + } + // determine if requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter should be set to null + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilterIsNull) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter = null; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter != null) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter.DomainUnitFilter = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter_principal_Project_ProjectGrantFilter_DomainUnitFilter; + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilterIsNull = false; + } + // determine if requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter should be set to null + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilterIsNull) + { + requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter = null; + } + if (requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter != null) + { + requestPrincipal_principal_Project.ProjectGrantFilter = requestPrincipal_principal_Project_principal_Project_ProjectGrantFilter; + requestPrincipal_principal_ProjectIsNull = false; + } + // determine if requestPrincipal_principal_Project should be set to null + if (requestPrincipal_principal_ProjectIsNull) + { + requestPrincipal_principal_Project = null; + } + if (requestPrincipal_principal_Project != null) + { + request.Principal.Project = requestPrincipal_principal_Project; + requestPrincipalIsNull = false; + } + // determine if request.Principal should be set to null + if (requestPrincipalIsNull) + { + request.Principal = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DataZone.Model.RemovePolicyGrantResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.RemovePolicyGrantRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "RemovePolicyGrant"); + try + { + #if DESKTOP + return client.RemovePolicyGrant(request); + #elif CORECLR + return client.RemovePolicyGrantAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String EntityIdentifier { get; set; } + public Amazon.DataZone.TargetEntityType EntityType { get; set; } + public Amazon.DataZone.ManagedPolicyType PolicyType { get; set; } + public Amazon.DataZone.DomainUnitDesignation DomainUnit_DomainUnitDesignation { get; set; } + public Amazon.DataZone.Model.AllDomainUnitsGrantFilter DomainUnitGrantFilter_AllDomainUnitsGrantFilter { get; set; } + public System.String DomainUnit_DomainUnitIdentifier { get; set; } + public System.String Group_GroupIdentifier { get; set; } + public Amazon.DataZone.ProjectDesignation Project_ProjectDesignation { get; set; } + public System.String DomainUnitFilter_DomainUnit { get; set; } + public System.Boolean? DomainUnitFilter_IncludeChildDomainUnit { get; set; } + public System.String Project_ProjectIdentifier { get; set; } + public Amazon.DataZone.Model.AllUsersGrantFilter User_AllUsersGrantFilter { get; set; } + public System.String User_UserIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Register-WLDomain-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Update-DZDomainUnit-Cmdlet.cs similarity index 61% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Register-WLDomain-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/DataZone/Basic/Update-DZDomainUnit-Cmdlet.cs index 8c8a498c28..275d323a9d 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Register-WLDomain-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Update-DZDomainUnit-Cmdlet.cs @@ -22,58 +22,60 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.DataZone; +using Amazon.DataZone.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.DZ { /// - /// Specifies a domain to be associated to Amazon WorkLink.

        This operation is deprecated. + /// Updates the domain unit. ///
        - [Cmdlet("Register", "WLDomain", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink AssociateDomain API operation.", Operation = new[] {"AssociateDomain"}, SelectReturnType = typeof(Amazon.WorkLink.Model.AssociateDomainResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.AssociateDomainResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.AssociateDomainResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Update", "DZDomainUnit", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DataZone.Model.UpdateDomainUnitResponse")] + [AWSCmdlet("Calls the Amazon DataZone UpdateDomainUnit API operation.", Operation = new[] {"UpdateDomainUnit"}, SelectReturnType = typeof(Amazon.DataZone.Model.UpdateDomainUnitResponse))] + [AWSCmdletOutput("Amazon.DataZone.Model.UpdateDomainUnitResponse", + "This cmdlet returns an Amazon.DataZone.Model.UpdateDomainUnitResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class RegisterWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class UpdateDZDomainUnitCmdlet : AmazonDataZoneClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter AcmCertificateArn + #region Parameter Description /// /// - /// The ARN of an issued ACM certificate that is valid for the domain being associated. + /// The description of the domain unit that you want to update. /// /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String AcmCertificateArn { get; set; } + public System.String Description { get; set; } #endregion - #region Parameter DisplayName + #region Parameter DomainIdentifier /// /// - /// The name to display. + /// The ID of the domain where you want to update a domain unit. /// /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String DisplayName { get; set; } + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DomainIdentifier { get; set; } #endregion - #region Parameter DomainName + #region Parameter Identifier /// /// - /// The fully qualified domain name (FQDN). + /// The ID of the domain unit that you want to update. /// /// #if !MODULAR @@ -84,30 +86,24 @@ public partial class RegisterWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExecu [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String DomainName { get; set; } + public System.String Identifier { get; set; } #endregion - #region Parameter FleetArn + #region Parameter Name /// /// - /// The Amazon Resource Name (ARN) of the fleet. + /// The name of the domain unit that you want to update. /// /// - #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] - #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } #endregion #region Parameter Select /// - /// 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.WorkLink.Model.AssociateDomainResponse). + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DataZone.Model.UpdateDomainUnitResponse). + /// Specifying the name of a property of type Amazon.DataZone.Model.UpdateDomainUnitResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -116,10 +112,10 @@ public partial class RegisterWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExecu #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the DomainIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DomainIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -139,8 +135,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Register-WLDomain (AssociateDomain)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.Identifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-DZDomainUnit (UpdateDomainUnit)")) { return; } @@ -153,7 +149,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -162,31 +158,25 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.DomainIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.AcmCertificateArn = this.AcmCertificateArn; - #if MODULAR - if (this.AcmCertificateArn == null && ParameterWasBound(nameof(this.AcmCertificateArn))) - { - WriteWarning("You are passing $null as a value for parameter AcmCertificateArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif - context.DisplayName = this.DisplayName; - context.DomainName = this.DomainName; + context.Description = this.Description; + context.DomainIdentifier = this.DomainIdentifier; #if MODULAR - if (this.DomainName == null && ParameterWasBound(nameof(this.DomainName))) + if (this.DomainIdentifier == null && ParameterWasBound(nameof(this.DomainIdentifier))) { - WriteWarning("You are passing $null as a value for parameter DomainName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter DomainIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.Identifier = this.Identifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter Identifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.Name = this.Name; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -201,23 +191,23 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.AssociateDomainRequest(); + var request = new Amazon.DataZone.Model.UpdateDomainUnitRequest(); - if (cmdletContext.AcmCertificateArn != null) + if (cmdletContext.Description != null) { - request.AcmCertificateArn = cmdletContext.AcmCertificateArn; + request.Description = cmdletContext.Description; } - if (cmdletContext.DisplayName != null) + if (cmdletContext.DomainIdentifier != null) { - request.DisplayName = cmdletContext.DisplayName; + request.DomainIdentifier = cmdletContext.DomainIdentifier; } - if (cmdletContext.DomainName != null) + if (cmdletContext.Identifier != null) { - request.DomainName = cmdletContext.DomainName; + request.Identifier = cmdletContext.Identifier; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.Name != null) { - request.FleetArn = cmdletContext.FleetArn; + request.Name = cmdletContext.Name; } CmdletOutput output; @@ -252,15 +242,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.AssociateDomainResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.AssociateDomainRequest request) + private Amazon.DataZone.Model.UpdateDomainUnitResponse CallAWSServiceOperation(IAmazonDataZone client, Amazon.DataZone.Model.UpdateDomainUnitRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "AssociateDomain"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DataZone", "UpdateDomainUnit"); try { #if DESKTOP - return client.AssociateDomain(request); + return client.UpdateDomainUnit(request); #elif CORECLR - return client.AssociateDomainAsync(request).GetAwaiter().GetResult(); + return client.UpdateDomainUnitAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -280,12 +270,12 @@ private Amazon.WorkLink.Model.AssociateDomainResponse CallAWSServiceOperation(IA internal partial class CmdletContext : ExecutorContext { - public System.String AcmCertificateArn { get; set; } - public System.String DisplayName { get; set; } - public System.String DomainName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; + public System.String Description { get; set; } + public System.String DomainIdentifier { get; set; } + public System.String Identifier { get; set; } + public System.String Name { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Update-DZProject-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Update-DZProject-Cmdlet.cs index c722a674ca..d17d2f07d6 100644 --- a/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Update-DZProject-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DataZone/Basic/Update-DZProject-Cmdlet.cs @@ -59,7 +59,7 @@ public partial class UpdateDZProjectCmdlet : AmazonDataZoneClientCmdlet, IExecut #region Parameter DomainIdentifier /// /// - /// The identifier of the Amazon DataZone domain in which a project is to be updated. + /// The ID of the Amazon DataZone domain where a project is being updated. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AmazonDatabaseMigrationServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AmazonDatabaseMigrationServiceClientCmdlet.cs index 859e9b7dd0..3a5886738e 100644 --- a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AmazonDatabaseMigrationServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AmazonDatabaseMigrationServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDatabaseMigrationService CreateClient(AWSCredentials credential return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDatabaseMigrationServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Deadline/AmazonDeadlineClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Deadline/AmazonDeadlineClientCmdlet.cs index ab0a3f8200..2a084ae8b8 100644 --- a/modules/AWSPowerShell/Cmdlets/Deadline/AmazonDeadlineClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Deadline/AmazonDeadlineClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDeadline CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDeadlineConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Detective/AmazonDetectiveClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Detective/AmazonDetectiveClientCmdlet.cs index 012a1f2d2f..fe2ba6ac75 100644 --- a/modules/AWSPowerShell/Cmdlets/Detective/AmazonDetectiveClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Detective/AmazonDetectiveClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDetective CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDetectiveConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DevOpsGuru/AmazonDevOpsGuruClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DevOpsGuru/AmazonDevOpsGuruClientCmdlet.cs index c780c55366..2f7ec0c370 100644 --- a/modules/AWSPowerShell/Cmdlets/DevOpsGuru/AmazonDevOpsGuruClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DevOpsGuru/AmazonDevOpsGuruClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDevOpsGuru CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDevOpsGuruConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DeviceFarm/AWS.Tools.DeviceFarm.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/DeviceFarm/AWS.Tools.DeviceFarm.Completers.psm1 index f9f4c9cea3..0cfb3b4aaa 100644 --- a/modules/AWSPowerShell/Cmdlets/DeviceFarm/AWS.Tools.DeviceFarm.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/DeviceFarm/AWS.Tools.DeviceFarm.Completers.psm1 @@ -144,7 +144,7 @@ $DF_Completers = { ($_ -eq "Get-DFDevicePoolCompatibility/TestType") } { - $v = "APPIUM_JAVA_JUNIT","APPIUM_JAVA_TESTNG","APPIUM_NODE","APPIUM_PYTHON","APPIUM_RUBY","APPIUM_WEB_JAVA_JUNIT","APPIUM_WEB_JAVA_TESTNG","APPIUM_WEB_NODE","APPIUM_WEB_PYTHON","APPIUM_WEB_RUBY","BUILTIN_EXPLORER","BUILTIN_FUZZ","CALABASH","INSTRUMENTATION","REMOTE_ACCESS_RECORD","REMOTE_ACCESS_REPLAY","UIAUTOMATION","UIAUTOMATOR","WEB_PERFORMANCE_PROFILE","XCTEST","XCTEST_UI" + $v = "APPIUM_JAVA_JUNIT","APPIUM_JAVA_TESTNG","APPIUM_NODE","APPIUM_PYTHON","APPIUM_RUBY","APPIUM_WEB_JAVA_JUNIT","APPIUM_WEB_JAVA_TESTNG","APPIUM_WEB_NODE","APPIUM_WEB_PYTHON","APPIUM_WEB_RUBY","BUILTIN_FUZZ","INSTRUMENTATION","XCTEST","XCTEST_UI" break } diff --git a/modules/AWSPowerShell/Cmdlets/DeviceFarm/AmazonDeviceFarmClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DeviceFarm/AmazonDeviceFarmClientCmdlet.cs index 8efbe4ce07..f6dbdbe131 100644 --- a/modules/AWSPowerShell/Cmdlets/DeviceFarm/AmazonDeviceFarmClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DeviceFarm/AmazonDeviceFarmClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDeviceFarm CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDeviceFarmConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFDevicePoolCompatibility-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFDevicePoolCompatibility-Cmdlet.cs index b010e78387..9fc3713a88 100644 --- a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFDevicePoolCompatibility-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFDevicePoolCompatibility-Cmdlet.cs @@ -229,16 +229,13 @@ public partial class GetDFDevicePoolCompatibilityCmdlet : AmazonDeviceFarmClient /// /// The test's parameters, such as test framework parameters and fixture settings. Parameters /// are represented by name-value pairs of strings.For all tests:
        • app_performance_monitoring: Performance monitoring is enabled by default. - /// Set this parameter to false to disable it.
        For Calabash tests:
        • profile: A cucumber profile (for example, my_profile_name).
        • tags: You can limit execution to features or scenarios that have (or don't have) certain - /// tags (for example, @smoke or @smoke,~@wip).
        For Appium tests (all types):
        • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), + /// Set this parameter to false to disable it.
        For Appium tests (all types):
        • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), /// latest, and default.
          • latest runs the latest Appium version supported by Device Farm (1.9.1).
          • For default, Device Farm selects a compatible version of Appium for the device. The /// current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 /// for iOS 10 and later.
          • This behavior is subject to change.
        For fuzz tests (Android only):
        • event_count: The number of events, between 1 and 10000, that the UI fuzz test should /// perform.
        • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between /// events.
        • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between - /// tests ensures identical event sequences.
        For Explorer tests:
        • username: A user name to use if the Explorer encounters a login form. If not supplied, - /// no user name is inserted.
        • password: A password to use if the Explorer encounters a login form. If not supplied, - /// no password is inserted.
        For Instrumentation:
        • filter: A test filter string. Examples:
          • Running a single test case: com.android.abc.Test1
          • Running a single test: com.android.abc.Test1#smoke
          • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
        For XCTest and XCTestUI:
        • filter: A test filter string. Examples:
          • Running a single test class: LoginTests
          • Running a multiple test classes: LoginTests,SmokeTests
          • Running a single test: LoginTests/testValid
          • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
        For UIAutomator:
        • filter: A test filter string. Examples:
          • Running a single test case: com.android.abc.Test1
          • Running a single test: com.android.abc.Test1#smoke
          • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
        + /// tests ensures identical event sequences.
      For Instrumentation:
      • filter: A test filter string. Examples:
        • Running a single test case: com.android.abc.Test1
        • Running a single test: com.android.abc.Test1#smoke
        • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
      For XCTest and XCTestUI:
      • filter: A test filter string. Examples:
        • Running a single test class: LoginTests
        • Running a multiple test classes: LoginTests,SmokeTests
        • Running a single test: LoginTests/testValid
        • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
      /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -269,8 +266,7 @@ public partial class GetDFDevicePoolCompatibilityCmdlet : AmazonDeviceFarmClient #region Parameter TestType /// /// - /// The test type for the specified device pool.Allowed values include the following:
    • BUILTIN_FUZZ.
    • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting - /// with it and capturing screenshots at the same time.
    • APPIUM_JAVA_JUNIT.
    • APPIUM_JAVA_TESTNG.
    • APPIUM_PYTHON.
    • APPIUM_NODE.
    • APPIUM_RUBY.
    • APPIUM_WEB_JAVA_JUNIT.
    • APPIUM_WEB_JAVA_TESTNG.
    • APPIUM_WEB_PYTHON.
    • APPIUM_WEB_NODE.
    • APPIUM_WEB_RUBY.
    • CALABASH.
    • INSTRUMENTATION.
    • UIAUTOMATION.
    • UIAUTOMATOR.
    • XCTEST.
    • XCTEST_UI.
    + /// The test type for the specified device pool.Allowed values include the following:
    • BUILTIN_FUZZ.
    • APPIUM_JAVA_JUNIT.
    • APPIUM_JAVA_TESTNG.
    • APPIUM_PYTHON.
    • APPIUM_NODE.
    • APPIUM_RUBY.
    • APPIUM_WEB_JAVA_JUNIT.
    • APPIUM_WEB_JAVA_TESTNG.
    • APPIUM_WEB_PYTHON.
    • APPIUM_WEB_NODE.
    • APPIUM_WEB_RUBY.
    • INSTRUMENTATION.
    • XCTEST.
    • XCTEST_UI.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -281,8 +277,7 @@ public partial class GetDFDevicePoolCompatibilityCmdlet : AmazonDeviceFarmClient #region Parameter Test_Type /// /// - /// The test's type.Must be one of the following values:
    • BUILTIN_FUZZ
    • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting - /// with it and capturing screenshots at the same time.
    • APPIUM_JAVA_JUNIT
    • APPIUM_JAVA_TESTNG
    • APPIUM_PYTHON
    • APPIUM_NODE
    • APPIUM_RUBY
    • APPIUM_WEB_JAVA_JUNIT
    • APPIUM_WEB_JAVA_TESTNG
    • APPIUM_WEB_PYTHON
    • APPIUM_WEB_NODE
    • APPIUM_WEB_RUBY
    • CALABASH
    • INSTRUMENTATION
    • UIAUTOMATION
    • UIAUTOMATOR
    • XCTEST
    • XCTEST_UI
    + /// The test's type.Must be one of the following values:
    • BUILTIN_FUZZ
    • APPIUM_JAVA_JUNIT
    • APPIUM_JAVA_TESTNG
    • APPIUM_PYTHON
    • APPIUM_NODE
    • APPIUM_RUBY
    • APPIUM_WEB_JAVA_JUNIT
    • APPIUM_WEB_JAVA_TESTNG
    • APPIUM_WEB_PYTHON
    • APPIUM_WEB_NODE
    • APPIUM_WEB_RUBY
    • INSTRUMENTATION
    • XCTEST
    • XCTEST_UI
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFUploadList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFUploadList-Cmdlet.cs index 60c6c024f0..30054db58d 100644 --- a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFUploadList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Get-DFUploadList-Cmdlet.cs @@ -64,7 +64,7 @@ public partial class GetDFUploadListCmdlet : AmazonDeviceFarmClientCmdlet, IExec #region Parameter Type /// /// - /// The type of upload.Must be one of the following values:
    • ANDROID_APP
    • IOS_APP
    • WEB_APP
    • EXTERNAL_DATA
    • APPIUM_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_PYTHON_TEST_PACKAGE
    • APPIUM_NODE_TEST_PACKAGE
    • APPIUM_RUBY_TEST_PACKAGE
    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_WEB_PYTHON_TEST_PACKAGE
    • APPIUM_WEB_NODE_TEST_PACKAGE
    • APPIUM_WEB_RUBY_TEST_PACKAGE
    • CALABASH_TEST_PACKAGE
    • INSTRUMENTATION_TEST_PACKAGE
    • UIAUTOMATION_TEST_PACKAGE
    • UIAUTOMATOR_TEST_PACKAGE
    • XCTEST_TEST_PACKAGE
    • XCTEST_UI_TEST_PACKAGE
    • APPIUM_JAVA_JUNIT_TEST_SPEC
    • APPIUM_JAVA_TESTNG_TEST_SPEC
    • APPIUM_PYTHON_TEST_SPEC
    • APPIUM_NODE_TEST_SPEC
    • APPIUM_RUBY_TEST_SPEC
    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
    • APPIUM_WEB_PYTHON_TEST_SPEC
    • APPIUM_WEB_NODE_TEST_SPEC
    • APPIUM_WEB_RUBY_TEST_SPEC
    • INSTRUMENTATION_TEST_SPEC
    • XCTEST_UI_TEST_SPEC
    + /// The type of upload.Must be one of the following values:
    • ANDROID_APP
    • IOS_APP
    • WEB_APP
    • EXTERNAL_DATA
    • APPIUM_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_PYTHON_TEST_PACKAGE
    • APPIUM_NODE_TEST_PACKAGE
    • APPIUM_RUBY_TEST_PACKAGE
    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_WEB_PYTHON_TEST_PACKAGE
    • APPIUM_WEB_NODE_TEST_PACKAGE
    • APPIUM_WEB_RUBY_TEST_PACKAGE
    • INSTRUMENTATION_TEST_PACKAGE
    • XCTEST_TEST_PACKAGE
    • XCTEST_UI_TEST_PACKAGE
    • APPIUM_JAVA_JUNIT_TEST_SPEC
    • APPIUM_JAVA_TESTNG_TEST_SPEC
    • APPIUM_PYTHON_TEST_SPEC
    • APPIUM_NODE_TEST_SPEC
    • APPIUM_RUBY_TEST_SPEC
    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
    • APPIUM_WEB_PYTHON_TEST_SPEC
    • APPIUM_WEB_NODE_TEST_SPEC
    • APPIUM_WEB_RUBY_TEST_SPEC
    • INSTRUMENTATION_TEST_SPEC
    • XCTEST_UI_TEST_SPEC
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/New-DFUpload-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/New-DFUpload-Cmdlet.cs index acde7fdca8..772e0e40f0 100644 --- a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/New-DFUpload-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/New-DFUpload-Cmdlet.cs @@ -94,7 +94,7 @@ public partial class NewDFUploadCmdlet : AmazonDeviceFarmClientCmdlet, IExecutor #region Parameter Type /// /// - /// The upload's upload type.Must be one of the following values:
    • ANDROID_APP
    • IOS_APP
    • WEB_APP
    • EXTERNAL_DATA
    • APPIUM_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_PYTHON_TEST_PACKAGE
    • APPIUM_NODE_TEST_PACKAGE
    • APPIUM_RUBY_TEST_PACKAGE
    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_WEB_PYTHON_TEST_PACKAGE
    • APPIUM_WEB_NODE_TEST_PACKAGE
    • APPIUM_WEB_RUBY_TEST_PACKAGE
    • CALABASH_TEST_PACKAGE
    • INSTRUMENTATION_TEST_PACKAGE
    • UIAUTOMATION_TEST_PACKAGE
    • UIAUTOMATOR_TEST_PACKAGE
    • XCTEST_TEST_PACKAGE
    • XCTEST_UI_TEST_PACKAGE
    • APPIUM_JAVA_JUNIT_TEST_SPEC
    • APPIUM_JAVA_TESTNG_TEST_SPEC
    • APPIUM_PYTHON_TEST_SPEC
    • APPIUM_NODE_TEST_SPEC
    • APPIUM_RUBY_TEST_SPEC
    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
    • APPIUM_WEB_PYTHON_TEST_SPEC
    • APPIUM_WEB_NODE_TEST_SPEC
    • APPIUM_WEB_RUBY_TEST_SPEC
    • INSTRUMENTATION_TEST_SPEC
    • XCTEST_UI_TEST_SPEC
    If you call CreateUpload with WEB_APP specified, AWS Device Farm throws + /// The upload's upload type.Must be one of the following values:
    • ANDROID_APP
    • IOS_APP
    • WEB_APP
    • EXTERNAL_DATA
    • APPIUM_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_PYTHON_TEST_PACKAGE
    • APPIUM_NODE_TEST_PACKAGE
    • APPIUM_RUBY_TEST_PACKAGE
    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
    • APPIUM_WEB_PYTHON_TEST_PACKAGE
    • APPIUM_WEB_NODE_TEST_PACKAGE
    • APPIUM_WEB_RUBY_TEST_PACKAGE
    • INSTRUMENTATION_TEST_PACKAGE
    • XCTEST_TEST_PACKAGE
    • XCTEST_UI_TEST_PACKAGE
    • APPIUM_JAVA_JUNIT_TEST_SPEC
    • APPIUM_JAVA_TESTNG_TEST_SPEC
    • APPIUM_PYTHON_TEST_SPEC
    • APPIUM_NODE_TEST_SPEC
    • APPIUM_RUBY_TEST_SPEC
    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
    • APPIUM_WEB_PYTHON_TEST_SPEC
    • APPIUM_WEB_NODE_TEST_SPEC
    • APPIUM_WEB_RUBY_TEST_SPEC
    • INSTRUMENTATION_TEST_SPEC
    • XCTEST_UI_TEST_SPEC
    If you call CreateUpload with WEB_APP specified, AWS Device Farm throws /// an ArgumentException error. ///
    ///
    diff --git a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Submit-DFTestRun-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Submit-DFTestRun-Cmdlet.cs index 8ea3612eda..41e204acea 100644 --- a/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Submit-DFTestRun-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DeviceFarm/Basic/Submit-DFTestRun-Cmdlet.cs @@ -295,16 +295,13 @@ public partial class SubmitDFTestRunCmdlet : AmazonDeviceFarmClientCmdlet, IExec /// /// The test's parameters, such as test framework parameters and fixture settings. Parameters /// are represented by name-value pairs of strings.For all tests:
    • app_performance_monitoring: Performance monitoring is enabled by default. - /// Set this parameter to false to disable it.
    For Calabash tests:
    • profile: A cucumber profile (for example, my_profile_name).
    • tags: You can limit execution to features or scenarios that have (or don't have) certain - /// tags (for example, @smoke or @smoke,~@wip).
    For Appium tests (all types):
    • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), + /// Set this parameter to false to disable it.
    For Appium tests (all types):
    • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), /// latest, and default.
      • latest runs the latest Appium version supported by Device Farm (1.9.1).
      • For default, Device Farm selects a compatible version of Appium for the device. The /// current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 /// for iOS 10 and later.
      • This behavior is subject to change.
    For fuzz tests (Android only):
    • event_count: The number of events, between 1 and 10000, that the UI fuzz test should /// perform.
    • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between /// events.
    • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between - /// tests ensures identical event sequences.
    For Explorer tests:
    • username: A user name to use if the Explorer encounters a login form. If not supplied, - /// no user name is inserted.
    • password: A password to use if the Explorer encounters a login form. If not supplied, - /// no password is inserted.
    For Instrumentation:
    • filter: A test filter string. Examples:
      • Running a single test case: com.android.abc.Test1
      • Running a single test: com.android.abc.Test1#smoke
      • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
    For XCTest and XCTestUI:
    • filter: A test filter string. Examples:
      • Running a single test class: LoginTests
      • Running a multiple test classes: LoginTests,SmokeTests
      • Running a single test: LoginTests/testValid
      • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
    For UIAutomator:
    • filter: A test filter string. Examples:
      • Running a single test case: com.android.abc.Test1
      • Running a single test: com.android.abc.Test1#smoke
      • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
    + /// tests ensures identical event sequences.
    For Instrumentation:
    • filter: A test filter string. Examples:
      • Running a single test case: com.android.abc.Test1
      • Running a single test: com.android.abc.Test1#smoke
      • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
    For XCTest and XCTestUI:
    • filter: A test filter string. Examples:
      • Running a single test class: LoginTests
      • Running a multiple test classes: LoginTests,SmokeTests
      • Running a single test: LoginTests/testValid
      • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -364,8 +361,7 @@ public partial class SubmitDFTestRunCmdlet : AmazonDeviceFarmClientCmdlet, IExec #region Parameter Test_Type /// /// - /// The test's type.Must be one of the following values:
    • BUILTIN_FUZZ
    • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting - /// with it and capturing screenshots at the same time.
    • APPIUM_JAVA_JUNIT
    • APPIUM_JAVA_TESTNG
    • APPIUM_PYTHON
    • APPIUM_NODE
    • APPIUM_RUBY
    • APPIUM_WEB_JAVA_JUNIT
    • APPIUM_WEB_JAVA_TESTNG
    • APPIUM_WEB_PYTHON
    • APPIUM_WEB_NODE
    • APPIUM_WEB_RUBY
    • CALABASH
    • INSTRUMENTATION
    • UIAUTOMATION
    • UIAUTOMATOR
    • XCTEST
    • XCTEST_UI
    + /// The test's type.Must be one of the following values:
    • BUILTIN_FUZZ
    • APPIUM_JAVA_JUNIT
    • APPIUM_JAVA_TESTNG
    • APPIUM_PYTHON
    • APPIUM_NODE
    • APPIUM_RUBY
    • APPIUM_WEB_JAVA_JUNIT
    • APPIUM_WEB_JAVA_TESTNG
    • APPIUM_WEB_PYTHON
    • APPIUM_WEB_NODE
    • APPIUM_WEB_RUBY
    • INSTRUMENTATION
    • XCTEST
    • XCTEST_UI
    ///
    ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/DirectConnect/AmazonDirectConnectClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectConnect/AmazonDirectConnectClientCmdlet.cs index 3dd8eed435..2b42b5d496 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectConnect/AmazonDirectConnectClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectConnect/AmazonDirectConnectClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDirectConnect CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDirectConnectConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.Completers.psm1 index 56a8521b59..0d0cae78b2 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.Completers.psm1 @@ -300,6 +300,7 @@ $DS_SelectMap = @{ "Get-DSClientAuthenticationSetting", "Get-DSConditionalForwarder", "Get-DSDirectory", + "Get-DSDirectoryDataAccess", "Get-DSDomainControllerList", "Get-DSEventTopic", "Get-DSLDAPSSetting", @@ -310,10 +311,12 @@ $DS_SelectMap = @{ "Get-DSTrust", "Get-DSUpdateDirectory", "Disable-DSClientAuthentication", + "Disable-DSDirectoryDataAccess", "Disable-DSLDAPS", "Disable-DSRadius", "Disable-DSSso", "Enable-DSClientAuthentication", + "Enable-DSDirectoryDataAccess", "Enable-DSLDAPS", "Enable-DSRadius", "Enable-DSSso", diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.psd1 b/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.psd1 index bf17d4ef2d..01ce564145 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.psd1 +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/AWS.Tools.DirectoryService.psd1 @@ -94,11 +94,13 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Connect-DSDirectory', 'Deny-DSSharedDirectory', 'Disable-DSClientAuthentication', + 'Disable-DSDirectoryDataAccess', 'Disable-DSDirectoryShare', 'Disable-DSLDAPS', 'Disable-DSRadius', 'Disable-DSSso', 'Enable-DSClientAuthentication', + 'Enable-DSDirectoryDataAccess', 'Enable-DSDirectoryShare', 'Enable-DSLDAPS', 'Enable-DSRadius', @@ -108,6 +110,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-DSClientAuthenticationSetting', 'Get-DSConditionalForwarder', 'Get-DSDirectory', + 'Get-DSDirectoryDataAccess', 'Get-DSDirectoryLimit', 'Get-DSDomainControllerList', 'Get-DSEventTopic', diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/AmazonDirectoryServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/AmazonDirectoryServiceClientCmdlet.cs index e067a21714..521da11491 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/AmazonDirectoryServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/AmazonDirectoryServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDirectoryService CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDirectoryServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Add-DSIpRoute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Add-DSIpRoute-Cmdlet.cs index feac51642a..3b79457a81 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Add-DSIpRoute-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Add-DSIpRoute-Cmdlet.cs @@ -95,7 +95,20 @@ public partial class AddDSIpRouteCmdlet : AmazonDirectoryServiceClientCmdlet, IE /// /// If set to true, updates the inbound and outbound rules of the security group that /// has the description: "Amazon Web Services created security group for directory - /// ID directory controllers." Following are the new rules: Inbound:
    • Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
    • Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0
    • Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0
    • Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0
    • Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0
    • Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0
    • Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
    • Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0
    • Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0
    • Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0
    • Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0
    • Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0
    • Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0
    • Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
    • Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
    • Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
    • Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
    Outbound:
    • Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
    These security rules impact an internal network interface that is not exposed publicly. + /// ID directory controllers." Following are the new rules:
    Inbound:
    • Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: Managed Microsoft AD VPC + /// IPv4 CIDR
    • Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: Managed Microsoft + /// AD VPC IPv4 CIDR
    • Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: Managed Microsoft + /// AD VPC IPv4 CIDR
    • Type: DNS (UDP), Protocol: UDP, Range: 53, Source: Managed Microsoft AD VPC IPv4 CIDR
    • Type: DNS (TCP), Protocol: TCP, Range: 53, Source: Managed Microsoft AD VPC IPv4 CIDR
    • Type: LDAP, Protocol: TCP, Range: 389, Source: Managed Microsoft AD VPC IPv4 CIDR
    • Type: All ICMP, Protocol: All, Range: N/A, Source: Managed Microsoft AD VPC IPv4 CIDR
    Outbound:
    • Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
    These security rules impact an internal network interface that is not exposed publicly. ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Disable-DSClientAuthentication-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Disable-DSClientAuthentication-Cmdlet.cs index 4780d18493..c805e4cb89 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Disable-DSClientAuthentication-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Disable-DSClientAuthentication-Cmdlet.cs @@ -62,7 +62,7 @@ public partial class DisableDSClientAuthenticationCmdlet : AmazonDirectoryServic #region Parameter Type /// /// - /// The type of client authentication to disable. Currently, only the parameter, SmartCard + /// The type of client authentication to disable. Currently the only parameter "SmartCard" /// is supported. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Disable-DSDirectoryDataAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Disable-DSDirectoryDataAccess-Cmdlet.cs new file mode 100644 index 0000000000..2a7f6e5142 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Disable-DSDirectoryDataAccess-Cmdlet.cs @@ -0,0 +1,218 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryService; +using Amazon.DirectoryService.Model; + +namespace Amazon.PowerShell.Cmdlets.DS +{ + /// + /// Deactivates access to directory data via the Directory Service Data API for the specified + /// directory. + /// + [Cmdlet("Disable", "DSDirectoryDataAccess", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service DisableDirectoryDataAccess API operation.", Operation = new[] {"DisableDirectoryDataAccess"}, SelectReturnType = typeof(Amazon.DirectoryService.Model.DisableDirectoryDataAccessResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryService.Model.DisableDirectoryDataAccessResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryService.Model.DisableDirectoryDataAccessResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class DisableDSDirectoryDataAccessCmdlet : AmazonDirectoryServiceClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The directory identifier. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryService.Model.DisableDirectoryDataAccessResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DirectoryId parameter. + /// The -PassThru parameter is deprecated, use -Select '^DirectoryId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DirectoryId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DirectoryId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Disable-DSDirectoryDataAccess (DisableDirectoryDataAccess)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DirectoryId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryService.Model.DisableDirectoryDataAccessRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryService.Model.DisableDirectoryDataAccessResponse CallAWSServiceOperation(IAmazonDirectoryService client, Amazon.DirectoryService.Model.DisableDirectoryDataAccessRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service", "DisableDirectoryDataAccess"); + try + { + #if DESKTOP + return client.DisableDirectoryDataAccess(request); + #elif CORECLR + return client.DisableDirectoryDataAccessAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Enable-DSDirectoryDataAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Enable-DSDirectoryDataAccess-Cmdlet.cs new file mode 100644 index 0000000000..da477f4ac1 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Enable-DSDirectoryDataAccess-Cmdlet.cs @@ -0,0 +1,218 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryService; +using Amazon.DirectoryService.Model; + +namespace Amazon.PowerShell.Cmdlets.DS +{ + /// + /// Enables access to directory data via the Directory Service Data API for the specified + /// directory. + /// + [Cmdlet("Enable", "DSDirectoryDataAccess", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service EnableDirectoryDataAccess API operation.", Operation = new[] {"EnableDirectoryDataAccess"}, SelectReturnType = typeof(Amazon.DirectoryService.Model.EnableDirectoryDataAccessResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryService.Model.EnableDirectoryDataAccessResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryService.Model.EnableDirectoryDataAccessResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class EnableDSDirectoryDataAccessCmdlet : AmazonDirectoryServiceClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The directory identifier. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryService.Model.EnableDirectoryDataAccessResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DirectoryId parameter. + /// The -PassThru parameter is deprecated, use -Select '^DirectoryId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DirectoryId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DirectoryId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Enable-DSDirectoryDataAccess (EnableDirectoryDataAccess)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DirectoryId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryService.Model.EnableDirectoryDataAccessRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryService.Model.EnableDirectoryDataAccessResponse CallAWSServiceOperation(IAmazonDirectoryService client, Amazon.DirectoryService.Model.EnableDirectoryDataAccessRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service", "EnableDirectoryDataAccess"); + try + { + #if DESKTOP + return client.EnableDirectoryDataAccess(request); + #elif CORECLR + return client.EnableDirectoryDataAccessAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Enable-DSRadius-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Enable-DSRadius-Cmdlet.cs index 8b199fcb19..f7502f03c8 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Enable-DSRadius-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Enable-DSRadius-Cmdlet.cs @@ -97,7 +97,8 @@ public partial class EnableDSRadiusCmdlet : AmazonDirectoryServiceClientCmdlet, #region Parameter RadiusSettings_RadiusRetry /// /// - /// The maximum number of times that communication with the RADIUS server is attempted. + /// The maximum number of times that communication with the RADIUS server is retried after + /// the initial attempt. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Get-DSDirectoryDataAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Get-DSDirectoryDataAccess-Cmdlet.cs new file mode 100644 index 0000000000..e73a63c4bc --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Get-DSDirectoryDataAccess-Cmdlet.cs @@ -0,0 +1,203 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryService; +using Amazon.DirectoryService.Model; + +namespace Amazon.PowerShell.Cmdlets.DS +{ + /// + /// Obtains status of directory data access enablement through the Directory Service Data + /// API for the specified directory. + /// + [Cmdlet("Get", "DSDirectoryDataAccess")] + [OutputType("Amazon.DirectoryService.DataAccessStatus")] + [AWSCmdlet("Calls the AWS Directory Service DescribeDirectoryDataAccess API operation.", Operation = new[] {"DescribeDirectoryDataAccess"}, SelectReturnType = typeof(Amazon.DirectoryService.Model.DescribeDirectoryDataAccessResponse))] + [AWSCmdletOutput("Amazon.DirectoryService.DataAccessStatus or Amazon.DirectoryService.Model.DescribeDirectoryDataAccessResponse", + "This cmdlet returns an Amazon.DirectoryService.DataAccessStatus object.", + "The service call response (type Amazon.DirectoryService.Model.DescribeDirectoryDataAccessResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDSDirectoryDataAccessCmdlet : AmazonDirectoryServiceClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The directory identifier. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'DataAccessStatus'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryService.Model.DescribeDirectoryDataAccessResponse). + /// Specifying the name of a property of type Amazon.DirectoryService.Model.DescribeDirectoryDataAccessResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "DataAccessStatus"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DirectoryId parameter. + /// The -PassThru parameter is deprecated, use -Select '^DirectoryId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DirectoryId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DirectoryId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryService.Model.DescribeDirectoryDataAccessRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryService.Model.DescribeDirectoryDataAccessResponse CallAWSServiceOperation(IAmazonDirectoryService client, Amazon.DirectoryService.Model.DescribeDirectoryDataAccessRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service", "DescribeDirectoryDataAccess"); + try + { + #if DESKTOP + return client.DescribeDirectoryDataAccess(request); + #elif CORECLR + return client.DescribeDirectoryDataAccessAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.DataAccessStatus; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/New-DSTrust-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/New-DSTrust-Cmdlet.cs index a511f7da07..23aafe5227 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/New-DSTrust-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/New-DSTrust-Cmdlet.cs @@ -133,8 +133,8 @@ public partial class NewDSTrustCmdlet : AmazonDirectoryServiceClientCmdlet, IExe #region Parameter TrustPassword /// /// - /// The trust password. The must be the same password that was used when creating the - /// trust relationship on the external domain. + /// The trust password. The trust password must be the same password that was used when + /// creating the trust relationship on the external domain. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Reset-DSUserPassword-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Reset-DSUserPassword-Cmdlet.cs index 03a4e680a5..3074975d20 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Reset-DSUserPassword-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Reset-DSUserPassword-Cmdlet.cs @@ -29,6 +29,7 @@ namespace Amazon.PowerShell.Cmdlets.DS { /// /// Resets the password for any user in your Managed Microsoft AD or Simple AD directory. + /// Disabled users will become enabled and can be authenticated following the API call. /// /// /// diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Update-DSRadius-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Update-DSRadius-Cmdlet.cs index 0ca8289d78..0f31275599 100644 --- a/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Update-DSRadius-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DirectoryService/Basic/Update-DSRadius-Cmdlet.cs @@ -97,7 +97,8 @@ public partial class UpdateDSRadiusCmdlet : AmazonDirectoryServiceClientCmdlet, #region Parameter RadiusSettings_RadiusRetry /// /// - /// The maximum number of times that communication with the RADIUS server is attempted. + /// The maximum number of times that communication with the RADIUS server is retried after + /// the initial attempt. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.Aliases.psm1 b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.Aliases.psm1 new file mode 100644 index 0000000000..9165f96a0e --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.Aliases.psm1 @@ -0,0 +1,3 @@ +# DirectoryServiceData + +Export-ModuleMember -Alias * \ No newline at end of file diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.Completers.psm1 similarity index 69% rename from modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.Completers.psm1 rename to modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.Completers.psm1 index ecbab9d238..9b9d95b33f 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.Completers.psm1 @@ -72,25 +72,41 @@ function _awsArgumentCompleterRegistration() # sort-object after filtering against $wordToComplete but we omit this as our members # are already sorted. -# Argument completions for service Amazon WorkLink +# Argument completions for service AWS Directory Service Data -$WL_Completers = { +$DSD_Completers = { param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) switch ($("$commandName/$parameterName")) { - # Amazon.WorkLink.AuthorizationProviderType - "Add-WLWebsiteAuthorizationProviderToFleet/AuthorizationProviderType" + # Amazon.DirectoryServiceData.GroupScope { - $v = "SAML" + ($_ -eq "New-DSDGroup/GroupScope") -Or + ($_ -eq "Update-DSDGroup/GroupScope") + } + { + $v = "BuiltinLocal","DomainLocal","Global","Universal" + break + } + + # Amazon.DirectoryServiceData.GroupType + { + ($_ -eq "New-DSDGroup/GroupType") -Or + ($_ -eq "Update-DSDGroup/GroupType") + } + { + $v = "Distribution","Security" break } - # Amazon.WorkLink.IdentityProviderType - "Update-WLIdentityProviderConfiguration/IdentityProviderType" + # Amazon.DirectoryServiceData.UpdateType + { + ($_ -eq "Update-DSDGroup/UpdateType") -Or + ($_ -eq "Update-DSDUser/UpdateType") + } { - $v = "SAML" + $v = "ADD","REMOVE","REPLACE" break } @@ -102,17 +118,18 @@ $WL_Completers = { ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } } -$WL_map = @{ - "AuthorizationProviderType"=@("Add-WLWebsiteAuthorizationProviderToFleet") - "IdentityProviderType"=@("Update-WLIdentityProviderConfiguration") +$DSD_map = @{ + "GroupScope"=@("New-DSDGroup","Update-DSDGroup") + "GroupType"=@("New-DSDGroup","Update-DSDGroup") + "UpdateType"=@("Update-DSDGroup","Update-DSDUser") } -_awsArgumentCompleterRegistration $WL_Completers $WL_map +_awsArgumentCompleterRegistration $DSD_Completers $DSD_map -$WL_SelectCompleters = { +$DSD_SelectCompleters = { param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) - $cmdletType = Invoke-Expression "[Amazon.PowerShell.Cmdlets.WL.$($commandName.Replace('-', ''))Cmdlet]" + $cmdletType = Invoke-Expression "[Amazon.PowerShell.Cmdlets.DSD.$($commandName.Replace('-', ''))Cmdlet]" if (-not $cmdletType) { return } @@ -156,41 +173,25 @@ $WL_SelectCompleters = { ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } } -$WL_SelectMap = @{ - "Select"=@("Register-WLDomain", - "Add-WLWebsiteAuthorizationProviderToFleet", - "Register-WLWebsiteCertificateAuthority", - "New-WLFleet", - "Remove-WLFleet", - "Get-WLAuditStreamConfiguration", - "Get-WLCompanyNetworkConfiguration", - "Get-WLDevice", - "Get-WLDevicePolicyConfiguration", - "Get-WLDomain", - "Get-WLFleetMetadata", - "Get-WLIdentityProviderConfiguration", - "Get-WLWebsiteCertificateAuthority", - "Unregister-WLDomain", - "Remove-WLWebsiteAuthorizationProviderFromFleet", - "Unregister-WLWebsiteCertificateAuthority", - "Get-WLDeviceList", - "Get-WLDomainList", - "Get-WLFleetList", - "Get-WLResourceTag", - "Get-WLWebsiteAuthorizationProviderList", - "Get-WLWebsiteCertificateAuthorityList", - "Restore-WLDomainAccess", - "Revoke-WLDomainAccess", - "Disconnect-WLUser", - "Add-WLResourceTag", - "Remove-WLResourceTag", - "Update-WLAuditStreamConfiguration", - "Update-WLCompanyNetworkConfiguration", - "Update-WLDevicePolicyConfiguration", - "Update-WLDomainMetadata", - "Update-WLFleetMetadata", - "Update-WLIdentityProviderConfiguration") +$DSD_SelectMap = @{ + "Select"=@("Add-DSDGroupMember", + "New-DSDGroup", + "New-DSDUser", + "Remove-DSDGroup", + "Remove-DSDUser", + "Get-DSDGroup", + "Get-DSDUser", + "Disable-DSDUser", + "Get-DSDGroupMemberList", + "Get-DSDGroupList", + "Get-DSDGroupsForMemberList", + "Get-DSDUserList", + "Remove-DSDGroupMember", + "Search-DSDGroup", + "Search-DSDUser", + "Update-DSDGroup", + "Update-DSDUser") } -_awsArgumentCompleterRegistration $WL_SelectCompleters $WL_SelectMap +_awsArgumentCompleterRegistration $DSD_SelectCompleters $DSD_SelectMap diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.csproj b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.csproj new file mode 100644 index 0000000000..129690ba01 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.csproj @@ -0,0 +1,66 @@ + + + + netstandard2.0 + Amazon.PowerShell.Cmdlets.DirectoryServiceData + Properties + AnyCPU + ../../solutions/ + prompt + 4 + 1591,1574,1570,1587 + true + ../../aws-powershell.snk + bin/$(Configuration)/ + TRACE + NU1605,CS0108 + + + AWS.Tools.DirectoryServiceData + $(OutputPath)/AWS.Tools.DirectoryServiceData.XML + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0;CORECLR;MODULAR + 0.0.0.0 + 0.0.0.0 + AWS Tools for PowerShell + Copyright 2012-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + Amazon.com, Inc + https://github.com/aws/aws-tools-for-powershell + + + true + full + false + false + $(DefineConstants);DEBUG + + + pdbonly + true + + + + + + + + + ../../../../Include/sdk/assemblies/netstandard2.0/AWSSDK.Core.dll + + + ../../../../Include/sdk/assemblies/netstandard2.0/AWSSDK.DirectoryServiceData.dll + + + + + + + + + + \ No newline at end of file diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.psd1 b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.psd1 similarity index 65% rename from modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.psd1 rename to modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.psd1 index 02e6a8f963..2891c84c01 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.psd1 +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AWS.Tools.DirectoryServiceData.psd1 @@ -1,10 +1,10 @@ # -# Module manifest for module 'AWS.Tools.WorkLink' +# Module manifest for module 'AWS.Tools.DirectoryServiceData' # @{ # Script module or binary module file associated with this manifest - RootModule = 'AWS.Tools.WorkLink.dll' + RootModule = 'AWS.Tools.DirectoryServiceData.dll' # Supported PSEditions CompatiblePSEditions = @('Core', 'Desktop') @@ -13,7 +13,7 @@ ModuleVersion = '0.0.0.0' # ID used to uniquely identify this module - GUID = '2df4f089-9e90-464d-8dd9-c7e17ba85504' + GUID = '95855647-29cd-48d6-b080-597544221b27' # Author of this module Author = 'Amazon.com, Inc' @@ -25,7 +25,7 @@ Copyright = 'Copyright 2012-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.' # Description of the functionality provided by this module - Description = 'The WorkLink module of AWS Tools for PowerShell lets developers and administrators manage Amazon WorkLink from the PowerShell scripting environment. In order to manage each AWS service, install the corresponding module (e.g. AWS.Tools.EC2, AWS.Tools.S3...). + Description = 'The DirectoryServiceData module of AWS Tools for PowerShell lets developers and administrators manage AWS Directory Service Data from the PowerShell scripting environment. In order to manage each AWS service, install the corresponding module (e.g. AWS.Tools.EC2, AWS.Tools.S3...). The module AWS.Tools.Installer (https://www.powershellgallery.com/packages/AWS.Tools.Installer/) makes it easier to install, update and uninstall the AWS.Tools modules. This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5.1+ and PowerShell Core 6+ on Windows, Linux and macOS. When running on Windows PowerShell, .NET Framework 4.7.2 or newer is required. Alternative modules AWSPowerShell.NetCore and AWSPowerShell, provide support for all AWS services from a single module and also support older versions of Windows PowerShell and .NET Framework.' @@ -57,7 +57,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Assemblies that must be loaded prior to importing this module. RequiredAssemblies = @( - 'AWSSDK.WorkLink.dll' + 'AWSSDK.DirectoryServiceData.dll' ) # Script files (.ps1) that are run in the caller's environment prior to importing this module @@ -72,13 +72,13 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Format files (.ps1xml) to be loaded when importing this module FormatsToProcess = @( - 'AWS.Tools.WorkLink.Format.ps1xml' + 'AWS.Tools.DirectoryServiceData.Format.ps1xml' ) # Modules to import as nested modules of the module specified in ModuleToProcess NestedModules = @( - 'AWS.Tools.WorkLink.Completers.psm1', - 'AWS.Tools.WorkLink.Aliases.psm1' + 'AWS.Tools.DirectoryServiceData.Completers.psm1', + 'AWS.Tools.DirectoryServiceData.Aliases.psm1' ) # Functions to export from this module @@ -86,39 +86,23 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Cmdlets to export from this module CmdletsToExport = @( - 'Add-WLResourceTag', - 'Add-WLWebsiteAuthorizationProviderToFleet', - 'Disconnect-WLUser', - 'Get-WLAuditStreamConfiguration', - 'Get-WLCompanyNetworkConfiguration', - 'Get-WLDevice', - 'Get-WLDeviceList', - 'Get-WLDevicePolicyConfiguration', - 'Get-WLDomain', - 'Get-WLDomainList', - 'Get-WLFleetList', - 'Get-WLFleetMetadata', - 'Get-WLIdentityProviderConfiguration', - 'Get-WLResourceTag', - 'Get-WLWebsiteAuthorizationProviderList', - 'Get-WLWebsiteCertificateAuthority', - 'Get-WLWebsiteCertificateAuthorityList', - 'New-WLFleet', - 'Register-WLDomain', - 'Register-WLWebsiteCertificateAuthority', - 'Remove-WLFleet', - 'Remove-WLResourceTag', - 'Remove-WLWebsiteAuthorizationProviderFromFleet', - 'Restore-WLDomainAccess', - 'Revoke-WLDomainAccess', - 'Unregister-WLDomain', - 'Unregister-WLWebsiteCertificateAuthority', - 'Update-WLAuditStreamConfiguration', - 'Update-WLCompanyNetworkConfiguration', - 'Update-WLDevicePolicyConfiguration', - 'Update-WLDomainMetadata', - 'Update-WLFleetMetadata', - 'Update-WLIdentityProviderConfiguration') + 'Add-DSDGroupMember', + 'Disable-DSDUser', + 'Get-DSDGroup', + 'Get-DSDGroupList', + 'Get-DSDGroupMemberList', + 'Get-DSDGroupsForMemberList', + 'Get-DSDUser', + 'Get-DSDUserList', + 'New-DSDGroup', + 'New-DSDUser', + 'Remove-DSDGroup', + 'Remove-DSDGroupMember', + 'Remove-DSDUser', + 'Search-DSDGroup', + 'Search-DSDUser', + 'Update-DSDGroup', + 'Update-DSDUser') # Variables to export from this module VariablesToExport = '*' @@ -131,7 +115,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # List of all files packaged with this module FileList = @( - 'AWS.Tools.WorkLink.dll-Help.xml' + 'AWS.Tools.DirectoryServiceData.dll-Help.xml' ) # Private data to pass to the module specified in ModuleToProcess diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AmazonDirectoryServiceDataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AmazonDirectoryServiceDataClientCmdlet.cs new file mode 100644 index 0000000000..4b70ed94c0 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/AmazonDirectoryServiceDataClientCmdlet.cs @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + [AWSClientCmdlet("AWS Directory Service Data", "DSD", "2023-05-31", "DirectoryServiceData")] + public abstract partial class AmazonDirectoryServiceDataClientCmdlet : ServiceCmdlet + { + protected IAmazonDirectoryServiceData Client { get; private set; } + + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public AmazonDirectoryServiceDataConfig ClientConfig + { + get + { + return base._ClientConfig as AmazonDirectoryServiceDataConfig; + } + set + { + base._ClientConfig = value; + } + } + + protected IAmazonDirectoryServiceData CreateClient(AWSCredentials credentials, RegionEndpoint region) + { + var config = this.ClientConfig ?? new AmazonDirectoryServiceDataConfig(); + if (region != null) config.RegionEndpoint = region; + Amazon.PowerShell.Utils.Common.PopulateConfig(this, config); + this.CustomizeClientConfig(config); + var client = new AmazonDirectoryServiceDataClient(credentials, config); + client.BeforeRequestEvent += RequestEventHandler; + client.AfterResponseEvent += ResponseEventHandler; + return client; + } + + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDirectoryServiceDataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + + protected override void ProcessRecord() + { + base.ProcessRecord(); + + Client = CreateClient(_CurrentCredentials, _RegionEndpoint); + } + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Add-DSDGroupMember-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Add-DSDGroupMember-Cmdlet.cs new file mode 100644 index 0000000000..ed3c5774bb --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Add-DSDGroupMember-Cmdlet.cs @@ -0,0 +1,298 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Adds an existing user, group, or computer as a group member. + /// + [Cmdlet("Add", "DSDGroupMember", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service Data AddGroupMember API operation.", Operation = new[] {"AddGroupMember"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.AddGroupMemberResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryServiceData.Model.AddGroupMemberResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryServiceData.Model.AddGroupMemberResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class AddDSDGroupMemberCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter GroupName + /// + /// + /// The name of the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String GroupName { get; set; } + #endregion + + #region Parameter MemberName + /// + /// + /// The SAMAccountName of the user, group, or computer to add as a group member. + /// + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MemberName { get; set; } + #endregion + + #region Parameter MemberRealm + /// + /// + /// The domain name that's associated with the group member. This parameter is required + /// only when adding a member outside of your Managed Microsoft AD domain to a group inside + /// of your Managed Microsoft AD domain. This parameter defaults to the Managed Microsoft + /// AD domain. This parameter is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String MemberRealm { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryServiceData.Model.AddGroupMemberResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Add-DSDGroupMember (AddGroupMember)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.GroupName = this.GroupName; + #if MODULAR + if (this.GroupName == null && ParameterWasBound(nameof(this.GroupName))) + { + WriteWarning("You are passing $null as a value for parameter GroupName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MemberName = this.MemberName; + #if MODULAR + if (this.MemberName == null && ParameterWasBound(nameof(this.MemberName))) + { + WriteWarning("You are passing $null as a value for parameter MemberName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MemberRealm = this.MemberRealm; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.AddGroupMemberRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.GroupName != null) + { + request.GroupName = cmdletContext.GroupName; + } + if (cmdletContext.MemberName != null) + { + request.MemberName = cmdletContext.MemberName; + } + if (cmdletContext.MemberRealm != null) + { + request.MemberRealm = cmdletContext.MemberRealm; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.AddGroupMemberResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.AddGroupMemberRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "AddGroupMember"); + try + { + #if DESKTOP + return client.AddGroupMember(request); + #elif CORECLR + return client.AddGroupMemberAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public System.String GroupName { get; set; } + public System.String MemberName { get; set; } + public System.String MemberRealm { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Disable-DSDUser-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Disable-DSDUser-Cmdlet.cs new file mode 100644 index 0000000000..7704334bae --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Disable-DSDUser-Cmdlet.cs @@ -0,0 +1,251 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Deactivates an active user account. For information about how to enable an inactive + /// user account, see ResetUserPassword + /// in the Directory Service API Reference. + /// + [Cmdlet("Disable", "DSDUser", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service Data DisableUser API operation.", Operation = new[] {"DisableUser"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.DisableUserResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryServiceData.Model.DisableUserResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryServiceData.Model.DisableUserResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class DisableDSDUserCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryServiceData.Model.DisableUserResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Disable-DSDUser (DisableUser)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.DisableUserRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.DisableUserResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.DisableUserRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "DisableUser"); + try + { + #if DESKTOP + return client.DisableUser(request); + #elif CORECLR + return client.DisableUserAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroup-Cmdlet.cs new file mode 100644 index 0000000000..6cbdb934f7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroup-Cmdlet.cs @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Returns information about a specific group. + /// + [Cmdlet("Get", "DSDGroup")] + [OutputType("Amazon.DirectoryServiceData.Model.DescribeGroupResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data DescribeGroup API operation.", Operation = new[] {"DescribeGroup"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.DescribeGroupResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.DescribeGroupResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.DescribeGroupResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDSDGroupCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The Identifier (ID) of the directory associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter OtherAttribute + /// + /// + /// One or more attributes to be returned for the group. For a list of supported attributes, + /// see Directory + /// Service Data Attributes. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("OtherAttributes")] + public System.String[] OtherAttribute { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name that's associated with the group. This parameter is optional, so you can return groups outside of your Managed Microsoft + /// AD domain. When no value is defined, only your Managed Microsoft AD groups are returned. + /// This value is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.DescribeGroupResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.DescribeGroupResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.OtherAttribute != null) + { + context.OtherAttribute = new List(this.OtherAttribute); + } + context.Realm = this.Realm; + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.DescribeGroupRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.OtherAttribute != null) + { + request.OtherAttributes = cmdletContext.OtherAttribute; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.DescribeGroupResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.DescribeGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "DescribeGroup"); + try + { + #if DESKTOP + return client.DescribeGroup(request); + #elif CORECLR + return client.DescribeGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public List OtherAttribute { get; set; } + public System.String Realm { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupList-Cmdlet.cs new file mode 100644 index 0000000000..461e89b89a --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupList-Cmdlet.cs @@ -0,0 +1,284 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Returns group information for the specified directory. + /// + /// + /// + /// This operation supports pagination with the use of the NextToken request and + /// response parameters. If more results are available, the ListGroups.NextToken + /// member contains a token that you pass in the next call to ListGroups. This + /// retrieves the next set of items. + /// + /// You can also specify a maximum number of return results with the MaxResults + /// parameter. + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "DSDGroupList")] + [OutputType("Amazon.DirectoryServiceData.Model.ListGroupsResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data ListGroups API operation.", Operation = new[] {"ListGroups"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.ListGroupsResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.ListGroupsResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.ListGroupsResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDSDGroupListCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name associated with the directory. This parameter is optional, so you can return groups outside of your Managed Microsoft + /// AD domain. When no value is defined, only your Managed Microsoft AD groups are returned. + /// This value is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned per request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// An encoded paging token for paginated calls that can be passed back to retrieve the + /// next page. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.ListGroupsResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.ListGroupsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.Realm = this.Realm; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DirectoryServiceData.Model.ListGroupsRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.ListGroupsResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.ListGroupsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "ListGroups"); + try + { + #if DESKTOP + return client.ListGroups(request); + #elif CORECLR + return client.ListGroupsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String Realm { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupMemberList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupMemberList-Cmdlet.cs new file mode 100644 index 0000000000..e9853a3b03 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupMemberList-Cmdlet.cs @@ -0,0 +1,330 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Returns member information for the specified group. + /// + /// + /// + /// This operation supports pagination with the use of the NextToken request and + /// response parameters. If more results are available, the ListGroupMembers.NextToken + /// member contains a token that you pass in the next call to ListGroupMembers. + /// This retrieves the next set of items. + /// + /// You can also specify a maximum number of return results with the MaxResults + /// parameter. + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "DSDGroupMemberList")] + [OutputType("Amazon.DirectoryServiceData.Model.ListGroupMembersResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data ListGroupMembers API operation.", Operation = new[] {"ListGroupMembers"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.ListGroupMembersResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.ListGroupMembersResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.ListGroupMembersResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDSDGroupMemberListCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter MemberRealm + /// + /// + /// The domain name that's associated with the group member. This parameter defaults + /// to the Managed Microsoft AD domain. This parameter is optional and case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String MemberRealm { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name that's associated with the group. This parameter is optional, so you can return members from a group outside of your + /// Managed Microsoft AD domain. When no value is defined, only members of your Managed + /// Microsoft AD groups are returned. This value is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned per request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// An encoded paging token for paginated calls that can be passed back to retrieve the + /// next page. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.ListGroupMembersResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.ListGroupMembersResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.MemberRealm = this.MemberRealm; + context.NextToken = this.NextToken; + context.Realm = this.Realm; + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DirectoryServiceData.Model.ListGroupMembersRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.MemberRealm != null) + { + request.MemberRealm = cmdletContext.MemberRealm; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.ListGroupMembersResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.ListGroupMembersRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "ListGroupMembers"); + try + { + #if DESKTOP + return client.ListGroupMembers(request); + #elif CORECLR + return client.ListGroupMembersAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String MemberRealm { get; set; } + public System.String NextToken { get; set; } + public System.String Realm { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupsForMemberList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupsForMemberList-Cmdlet.cs new file mode 100644 index 0000000000..0a8d76b21b --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDGroupsForMemberList-Cmdlet.cs @@ -0,0 +1,332 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Returns group information for the specified member. + /// + /// + /// + /// This operation supports pagination with the use of the NextToken request and + /// response parameters. If more results are available, the ListGroupsForMember.NextToken + /// member contains a token that you pass in the next call to ListGroupsForMember. + /// This retrieves the next set of items. + /// + /// You can also specify a maximum number of return results with the MaxResults + /// parameter. + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "DSDGroupsForMemberList")] + [OutputType("Amazon.DirectoryServiceData.Model.ListGroupsForMemberResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data ListGroupsForMember API operation.", Operation = new[] {"ListGroupsForMember"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.ListGroupsForMemberResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.ListGroupsForMemberResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.ListGroupsForMemberResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDSDGroupsForMemberListCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the member. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter MemberRealm + /// + /// + /// The domain name that's associated with the group member. This parameter is optional, so you can limit your results to the group members in + /// a specific domain. This parameter is case insensitive and defaults to Realm + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String MemberRealm { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name that's associated with the group. This parameter is optional, so you can return groups outside of your Managed Microsoft + /// AD domain. When no value is defined, only your Managed Microsoft AD groups are returned. + /// This value is case insensitive and defaults to your Managed Microsoft AD domain. + /// + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The SAMAccountName of the user, group, or computer that's a member of the + /// group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned per request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// An encoded paging token for paginated calls that can be passed back to retrieve the + /// next page. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.ListGroupsForMemberResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.ListGroupsForMemberResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.MemberRealm = this.MemberRealm; + context.NextToken = this.NextToken; + context.Realm = this.Realm; + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DirectoryServiceData.Model.ListGroupsForMemberRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.MemberRealm != null) + { + request.MemberRealm = cmdletContext.MemberRealm; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.ListGroupsForMemberResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.ListGroupsForMemberRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "ListGroupsForMember"); + try + { + #if DESKTOP + return client.ListGroupsForMember(request); + #elif CORECLR + return client.ListGroupsForMemberAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String MemberRealm { get; set; } + public System.String NextToken { get; set; } + public System.String Realm { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDUser-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDUser-Cmdlet.cs new file mode 100644 index 0000000000..745fdddc71 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDUser-Cmdlet.cs @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Returns information about a specific user. + /// + [Cmdlet("Get", "DSDUser")] + [OutputType("Amazon.DirectoryServiceData.Model.DescribeUserResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data DescribeUser API operation.", Operation = new[] {"DescribeUser"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.DescribeUserResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.DescribeUserResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.DescribeUserResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDSDUserCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter OtherAttribute + /// + /// + /// One or more attribute names to be returned for the user. A key is an attribute name, + /// and the value is a list of maps. For a list of supported attributes, see Directory + /// Service Data Attributes. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("OtherAttributes")] + public System.String[] OtherAttribute { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name that's associated with the user. This parameter is optional, so you can return users outside your Managed Microsoft + /// AD domain. When no value is defined, only your Managed Microsoft AD users are returned. + /// This value is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.DescribeUserResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.DescribeUserResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.OtherAttribute != null) + { + context.OtherAttribute = new List(this.OtherAttribute); + } + context.Realm = this.Realm; + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.DescribeUserRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.OtherAttribute != null) + { + request.OtherAttributes = cmdletContext.OtherAttribute; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.DescribeUserResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.DescribeUserRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "DescribeUser"); + try + { + #if DESKTOP + return client.DescribeUser(request); + #elif CORECLR + return client.DescribeUserAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public List OtherAttribute { get; set; } + public System.String Realm { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDUserList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDUserList-Cmdlet.cs new file mode 100644 index 0000000000..d9878c4a55 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Get-DSDUserList-Cmdlet.cs @@ -0,0 +1,284 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Returns user information for the specified directory. + /// + /// + /// + /// This operation supports pagination with the use of the NextToken request and + /// response parameters. If more results are available, the ListUsers.NextToken + /// member contains a token that you pass in the next call to ListUsers. This retrieves + /// the next set of items. + /// + /// You can also specify a maximum number of return results with the MaxResults + /// parameter. + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "DSDUserList")] + [OutputType("Amazon.DirectoryServiceData.Model.ListUsersResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data ListUsers API operation.", Operation = new[] {"ListUsers"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.ListUsersResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.ListUsersResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.ListUsersResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDSDUserListCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name that's associated with the user. This parameter is optional, so you can return users outside of your Managed Microsoft + /// AD domain. When no value is defined, only your Managed Microsoft AD users are returned. + /// This value is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned per request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// An encoded paging token for paginated calls that can be passed back to retrieve the + /// next page. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.ListUsersResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.ListUsersResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.Realm = this.Realm; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DirectoryServiceData.Model.ListUsersRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.ListUsersResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.ListUsersRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "ListUsers"); + try + { + #if DESKTOP + return client.ListUsers(request); + #elif CORECLR + return client.ListUsersAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String Realm { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/New-DSDGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/New-DSDGroup-Cmdlet.cs new file mode 100644 index 0000000000..78a6aa91e2 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/New-DSDGroup-Cmdlet.cs @@ -0,0 +1,312 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Creates a new group. + /// + [Cmdlet("New", "DSDGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DirectoryServiceData.Model.CreateGroupResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data CreateGroup API operation.", Operation = new[] {"CreateGroup"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.CreateGroupResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.CreateGroupResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.CreateGroupResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewDSDGroupCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter GroupScope + /// + /// + /// The scope of the AD group. For details, see Active + /// Directory security group scope. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.DirectoryServiceData.GroupScope")] + public Amazon.DirectoryServiceData.GroupScope GroupScope { get; set; } + #endregion + + #region Parameter GroupType + /// + /// + /// The AD group type. For details, see Active + /// Directory security group type. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.DirectoryServiceData.GroupType")] + public Amazon.DirectoryServiceData.GroupType GroupType { get; set; } + #endregion + + #region Parameter OtherAttribute + /// + /// + /// An expression that defines one or more attributes with the data type and value of + /// each attribute. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("OtherAttributes")] + public System.Collections.Hashtable OtherAttribute { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.CreateGroupResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.CreateGroupResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-DSDGroup (CreateGroup)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.GroupScope = this.GroupScope; + context.GroupType = this.GroupType; + if (this.OtherAttribute != null) + { + context.OtherAttribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.OtherAttribute.Keys) + { + context.OtherAttribute.Add((String)hashKey, (Amazon.DirectoryServiceData.Model.AttributeValue)(this.OtherAttribute[hashKey])); + } + } + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.CreateGroupRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.GroupScope != null) + { + request.GroupScope = cmdletContext.GroupScope; + } + if (cmdletContext.GroupType != null) + { + request.GroupType = cmdletContext.GroupType; + } + if (cmdletContext.OtherAttribute != null) + { + request.OtherAttributes = cmdletContext.OtherAttribute; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.CreateGroupResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.CreateGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "CreateGroup"); + try + { + #if DESKTOP + return client.CreateGroup(request); + #elif CORECLR + return client.CreateGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public Amazon.DirectoryServiceData.GroupScope GroupScope { get; set; } + public Amazon.DirectoryServiceData.GroupType GroupType { get; set; } + public Dictionary OtherAttribute { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/New-DSDUser-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/New-DSDUser-Cmdlet.cs new file mode 100644 index 0000000000..1bcdb46b6b --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/New-DSDUser-Cmdlet.cs @@ -0,0 +1,326 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Creates a new user. + /// + [Cmdlet("New", "DSDUser", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DirectoryServiceData.Model.CreateUserResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data CreateUser API operation.", Operation = new[] {"CreateUser"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.CreateUserResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.CreateUserResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.CreateUserResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewDSDUserCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that’s associated with the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter EmailAddress + /// + /// + /// The email address of the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String EmailAddress { get; set; } + #endregion + + #region Parameter GivenName + /// + /// + /// The first name of the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String GivenName { get; set; } + #endregion + + #region Parameter OtherAttribute + /// + /// + /// An expression that defines one or more attribute names with the data type and value + /// of each attribute. A key is an attribute name, and the value is a list of maps. For + /// a list of supported attributes, see Directory + /// Service Data Attributes. Attribute names are case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("OtherAttributes")] + public System.Collections.Hashtable OtherAttribute { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter Surname + /// + /// + /// The last name of the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Surname { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.CreateUserResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.CreateUserResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-DSDUser (CreateUser)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EmailAddress = this.EmailAddress; + context.GivenName = this.GivenName; + if (this.OtherAttribute != null) + { + context.OtherAttribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.OtherAttribute.Keys) + { + context.OtherAttribute.Add((String)hashKey, (Amazon.DirectoryServiceData.Model.AttributeValue)(this.OtherAttribute[hashKey])); + } + } + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Surname = this.Surname; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.CreateUserRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.EmailAddress != null) + { + request.EmailAddress = cmdletContext.EmailAddress; + } + if (cmdletContext.GivenName != null) + { + request.GivenName = cmdletContext.GivenName; + } + if (cmdletContext.OtherAttribute != null) + { + request.OtherAttributes = cmdletContext.OtherAttribute; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + if (cmdletContext.Surname != null) + { + request.Surname = cmdletContext.Surname; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.CreateUserResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.CreateUserRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "CreateUser"); + try + { + #if DESKTOP + return client.CreateUser(request); + #elif CORECLR + return client.CreateUserAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public System.String EmailAddress { get; set; } + public System.String GivenName { get; set; } + public Dictionary OtherAttribute { get; set; } + public System.String SAMAccountName { get; set; } + public System.String Surname { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDGroup-Cmdlet.cs new file mode 100644 index 0000000000..6059114f72 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDGroup-Cmdlet.cs @@ -0,0 +1,249 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Deletes a group. + /// + [Cmdlet("Remove", "DSDGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service Data DeleteGroup API operation.", Operation = new[] {"DeleteGroup"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.DeleteGroupResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryServiceData.Model.DeleteGroupResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryServiceData.Model.DeleteGroupResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDSDGroupCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryServiceData.Model.DeleteGroupResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DSDGroup (DeleteGroup)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.DeleteGroupRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.DeleteGroupResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.DeleteGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "DeleteGroup"); + try + { + #if DESKTOP + return client.DeleteGroup(request); + #elif CORECLR + return client.DeleteGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDGroupMember-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDGroupMember-Cmdlet.cs new file mode 100644 index 0000000000..b59c1a6129 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDGroupMember-Cmdlet.cs @@ -0,0 +1,296 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Removes a member from a group. + /// + [Cmdlet("Remove", "DSDGroupMember", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service Data RemoveGroupMember API operation.", Operation = new[] {"RemoveGroupMember"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.RemoveGroupMemberResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryServiceData.Model.RemoveGroupMemberResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryServiceData.Model.RemoveGroupMemberResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDSDGroupMemberCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the member. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter GroupName + /// + /// + /// The name of the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String GroupName { get; set; } + #endregion + + #region Parameter MemberName + /// + /// + /// The SAMAccountName of the user, group, or computer to remove from the group. + /// + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MemberName { get; set; } + #endregion + + #region Parameter MemberRealm + /// + /// + /// The domain name that's associated with the group member. This parameter defaults + /// to the Managed Microsoft AD domain. This parameter is optional and case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String MemberRealm { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryServiceData.Model.RemoveGroupMemberResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DSDGroupMember (RemoveGroupMember)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.GroupName = this.GroupName; + #if MODULAR + if (this.GroupName == null && ParameterWasBound(nameof(this.GroupName))) + { + WriteWarning("You are passing $null as a value for parameter GroupName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MemberName = this.MemberName; + #if MODULAR + if (this.MemberName == null && ParameterWasBound(nameof(this.MemberName))) + { + WriteWarning("You are passing $null as a value for parameter MemberName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MemberRealm = this.MemberRealm; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.RemoveGroupMemberRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.GroupName != null) + { + request.GroupName = cmdletContext.GroupName; + } + if (cmdletContext.MemberName != null) + { + request.MemberName = cmdletContext.MemberName; + } + if (cmdletContext.MemberRealm != null) + { + request.MemberRealm = cmdletContext.MemberRealm; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.RemoveGroupMemberResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.RemoveGroupMemberRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "RemoveGroupMember"); + try + { + #if DESKTOP + return client.RemoveGroupMember(request); + #elif CORECLR + return client.RemoveGroupMemberAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public System.String GroupName { get; set; } + public System.String MemberName { get; set; } + public System.String MemberRealm { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDUser-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDUser-Cmdlet.cs new file mode 100644 index 0000000000..78d69c5e13 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Remove-DSDUser-Cmdlet.cs @@ -0,0 +1,249 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Deletes a user. + /// + [Cmdlet("Remove", "DSDUser", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service Data DeleteUser API operation.", Operation = new[] {"DeleteUser"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.DeleteUserResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryServiceData.Model.DeleteUserResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryServiceData.Model.DeleteUserResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDSDUserCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryServiceData.Model.DeleteUserResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DSDUser (DeleteUser)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.DeleteUserRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.DeleteUserResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.DeleteUserRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "DeleteUser"); + try + { + #if DESKTOP + return client.DeleteUser(request); + #elif CORECLR + return client.DeleteUserAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public System.String SAMAccountName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Search-DSDGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Search-DSDGroup-Cmdlet.cs new file mode 100644 index 0000000000..9471c04000 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Search-DSDGroup-Cmdlet.cs @@ -0,0 +1,368 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Searches the specified directory for a group. You can find groups that match the + /// SearchString parameter with the value of their attributes included in the SearchString + /// parameter. + /// + /// + /// + /// This operation supports pagination with the use of the NextToken request and + /// response parameters. If more results are available, the SearchGroups.NextToken + /// member contains a token that you pass in the next call to SearchGroups. This + /// retrieves the next set of items. + /// + /// You can also specify a maximum number of return results with the MaxResults + /// parameter. + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Search", "DSDGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DirectoryServiceData.Model.SearchGroupsResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data SearchGroups API operation.", Operation = new[] {"SearchGroups"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.SearchGroupsResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.SearchGroupsResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.SearchGroupsResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class SearchDSDGroupCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name that's associated with the group. This parameter is optional, so you can return groups outside of your Managed Microsoft + /// AD domain. When no value is defined, only your Managed Microsoft AD groups are returned. + /// This value is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter SearchAttribute + /// + /// + /// One or more data attributes that are used to search for a group. For a list of supported + /// attributes, see Directory + /// Service Data Attributes. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SearchAttributes")] + public System.String[] SearchAttribute { get; set; } + #endregion + + #region Parameter SearchString + /// + /// + /// The attribute value that you want to search for. Wildcard (*) searches aren't supported. For a list of supported attributes, + /// see Directory + /// Service Data Attributes. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SearchString { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned per request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// An encoded paging token for paginated calls that can be passed back to retrieve the + /// next page. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.SearchGroupsResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.SearchGroupsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DirectoryId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Search-DSDGroup (SearchGroups)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.Realm = this.Realm; + if (this.SearchAttribute != null) + { + context.SearchAttribute = new List(this.SearchAttribute); + } + #if MODULAR + if (this.SearchAttribute == null && ParameterWasBound(nameof(this.SearchAttribute))) + { + WriteWarning("You are passing $null as a value for parameter SearchAttribute which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SearchString = this.SearchString; + #if MODULAR + if (this.SearchString == null && ParameterWasBound(nameof(this.SearchString))) + { + WriteWarning("You are passing $null as a value for parameter SearchString which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DirectoryServiceData.Model.SearchGroupsRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + if (cmdletContext.SearchAttribute != null) + { + request.SearchAttributes = cmdletContext.SearchAttribute; + } + if (cmdletContext.SearchString != null) + { + request.SearchString = cmdletContext.SearchString; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.SearchGroupsResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.SearchGroupsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "SearchGroups"); + try + { + #if DESKTOP + return client.SearchGroups(request); + #elif CORECLR + return client.SearchGroupsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String Realm { get; set; } + public List SearchAttribute { get; set; } + public System.String SearchString { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Search-DSDUser-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Search-DSDUser-Cmdlet.cs new file mode 100644 index 0000000000..af377c9217 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Search-DSDUser-Cmdlet.cs @@ -0,0 +1,367 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Searches the specified directory for a user. You can find users that match the SearchString + /// parameter with the value of their attributes included in the SearchString parameter. + /// + /// + /// + /// This operation supports pagination with the use of the NextToken request and + /// response parameters. If more results are available, the SearchUsers.NextToken + /// member contains a token that you pass in the next call to SearchUsers. This + /// retrieves the next set of items. + /// + /// You can also specify a maximum number of return results with the MaxResults + /// parameter. + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Search", "DSDUser", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DirectoryServiceData.Model.SearchUsersResponse")] + [AWSCmdlet("Calls the AWS Directory Service Data SearchUsers API operation.", Operation = new[] {"SearchUsers"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.SearchUsersResponse))] + [AWSCmdletOutput("Amazon.DirectoryServiceData.Model.SearchUsersResponse", + "This cmdlet returns an Amazon.DirectoryServiceData.Model.SearchUsersResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class SearchDSDUserCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter Realm + /// + /// + /// The domain name that's associated with the user. This parameter is optional, so you can return users outside of your Managed Microsoft + /// AD domain. When no value is defined, only your Managed Microsoft AD users are returned. + /// This value is case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Realm { get; set; } + #endregion + + #region Parameter SearchAttribute + /// + /// + /// One or more data attributes that are used to search for a user. For a list of supported + /// attributes, see Directory + /// Service Data Attributes. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SearchAttributes")] + public System.String[] SearchAttribute { get; set; } + #endregion + + #region Parameter SearchString + /// + /// + /// The attribute value that you want to search for. Wildcard (*) searches aren't supported. For a list of supported attributes, + /// see Directory + /// Service Data Attributes. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SearchString { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned per request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// An encoded paging token for paginated calls that can be passed back to retrieve the + /// next page. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DirectoryServiceData.Model.SearchUsersResponse). + /// Specifying the name of a property of type Amazon.DirectoryServiceData.Model.SearchUsersResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DirectoryId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Search-DSDUser (SearchUsers)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.Realm = this.Realm; + if (this.SearchAttribute != null) + { + context.SearchAttribute = new List(this.SearchAttribute); + } + #if MODULAR + if (this.SearchAttribute == null && ParameterWasBound(nameof(this.SearchAttribute))) + { + WriteWarning("You are passing $null as a value for parameter SearchAttribute which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SearchString = this.SearchString; + #if MODULAR + if (this.SearchString == null && ParameterWasBound(nameof(this.SearchString))) + { + WriteWarning("You are passing $null as a value for parameter SearchString which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DirectoryServiceData.Model.SearchUsersRequest(); + + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.Realm != null) + { + request.Realm = cmdletContext.Realm; + } + if (cmdletContext.SearchAttribute != null) + { + request.SearchAttributes = cmdletContext.SearchAttribute; + } + if (cmdletContext.SearchString != null) + { + request.SearchString = cmdletContext.SearchString; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.SearchUsersResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.SearchUsersRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "SearchUsers"); + try + { + #if DESKTOP + return client.SearchUsers(request); + #elif CORECLR + return client.SearchUsersAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DirectoryId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String Realm { get; set; } + public List SearchAttribute { get; set; } + public System.String SearchString { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Update-DSDGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Update-DSDGroup-Cmdlet.cs new file mode 100644 index 0000000000..88874b7492 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Update-DSDGroup-Cmdlet.cs @@ -0,0 +1,331 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Updates group information. + /// + [Cmdlet("Update", "DSDGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service Data UpdateGroup API operation.", Operation = new[] {"UpdateGroup"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.UpdateGroupResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryServiceData.Model.UpdateGroupResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryServiceData.Model.UpdateGroupResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateDSDGroupCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter GroupScope + /// + /// + /// The scope of the AD group. For details, see Active + /// Directory security groups. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.DirectoryServiceData.GroupScope")] + public Amazon.DirectoryServiceData.GroupScope GroupScope { get; set; } + #endregion + + #region Parameter GroupType + /// + /// + /// The AD group type. For details, see Active + /// Directory security group type. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.DirectoryServiceData.GroupType")] + public Amazon.DirectoryServiceData.GroupType GroupType { get; set; } + #endregion + + #region Parameter OtherAttribute + /// + /// + /// An expression that defines one or more attributes with the data type and the value + /// of each attribute. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("OtherAttributes")] + public System.Collections.Hashtable OtherAttribute { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter UpdateType + /// + /// + /// The type of update to be performed. If no value exists for the attribute, use ADD. + /// Otherwise, use REPLACE to change an attribute value or REMOVE to clear + /// the attribute value. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.DirectoryServiceData.UpdateType")] + public Amazon.DirectoryServiceData.UpdateType UpdateType { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryServiceData.Model.UpdateGroupResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-DSDGroup (UpdateGroup)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.GroupScope = this.GroupScope; + context.GroupType = this.GroupType; + if (this.OtherAttribute != null) + { + context.OtherAttribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.OtherAttribute.Keys) + { + context.OtherAttribute.Add((String)hashKey, (Amazon.DirectoryServiceData.Model.AttributeValue)(this.OtherAttribute[hashKey])); + } + } + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.UpdateType = this.UpdateType; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.UpdateGroupRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.GroupScope != null) + { + request.GroupScope = cmdletContext.GroupScope; + } + if (cmdletContext.GroupType != null) + { + request.GroupType = cmdletContext.GroupType; + } + if (cmdletContext.OtherAttribute != null) + { + request.OtherAttributes = cmdletContext.OtherAttribute; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + if (cmdletContext.UpdateType != null) + { + request.UpdateType = cmdletContext.UpdateType; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.UpdateGroupResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.UpdateGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "UpdateGroup"); + try + { + #if DESKTOP + return client.UpdateGroup(request); + #elif CORECLR + return client.UpdateGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public Amazon.DirectoryServiceData.GroupScope GroupScope { get; set; } + public Amazon.DirectoryServiceData.GroupType GroupType { get; set; } + public Dictionary OtherAttribute { get; set; } + public System.String SAMAccountName { get; set; } + public Amazon.DirectoryServiceData.UpdateType UpdateType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Update-DSDUser-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Update-DSDUser-Cmdlet.cs new file mode 100644 index 0000000000..32954181f4 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DirectoryServiceData/Basic/Update-DSDUser-Cmdlet.cs @@ -0,0 +1,345 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DirectoryServiceData; +using Amazon.DirectoryServiceData.Model; + +namespace Amazon.PowerShell.Cmdlets.DSD +{ + /// + /// Updates user information. + /// + [Cmdlet("Update", "DSDUser", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Directory Service Data UpdateUser API operation.", Operation = new[] {"UpdateUser"}, SelectReturnType = typeof(Amazon.DirectoryServiceData.Model.UpdateUserResponse))] + [AWSCmdletOutput("None or Amazon.DirectoryServiceData.Model.UpdateUserResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.DirectoryServiceData.Model.UpdateUserResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateDSDUserCmdlet : AmazonDirectoryServiceDataClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter DirectoryId + /// + /// + /// The identifier (ID) of the directory that's associated with the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DirectoryId { get; set; } + #endregion + + #region Parameter EmailAddress + /// + /// + /// The email address of the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String EmailAddress { get; set; } + #endregion + + #region Parameter GivenName + /// + /// + /// The first name of the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String GivenName { get; set; } + #endregion + + #region Parameter OtherAttribute + /// + /// + /// An expression that defines one or more attribute names with the data type and value + /// of each attribute. A key is an attribute name, and the value is a list of maps. For + /// a list of supported attributes, see Directory + /// Service Data Attributes. Attribute names are case insensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("OtherAttributes")] + public System.Collections.Hashtable OtherAttribute { get; set; } + #endregion + + #region Parameter SAMAccountName + /// + /// + /// The name of the user. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SAMAccountName { get; set; } + #endregion + + #region Parameter Surname + /// + /// + /// The last name of the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Surname { get; set; } + #endregion + + #region Parameter UpdateType + /// + /// + /// The type of update to be performed. If no value exists for the attribute, use ADD. + /// Otherwise, use REPLACE to change an attribute value or REMOVE to clear + /// the attribute value. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.DirectoryServiceData.UpdateType")] + public Amazon.DirectoryServiceData.UpdateType UpdateType { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique and case-sensitive identifier that you provide to make sure the idempotency + /// of the request, so multiple identical calls have the same effect as one single call. + /// A client token is valid for 8 hours after the first request that uses it completes. + /// After 8 hours, any request with the same client token is treated as a new request. + /// If the request succeeds, any future uses of that token will be idempotent for another + /// 8 hours. If you submit a request with the same client token but change one of the other parameters + /// within the 8-hour idempotency window, Directory Service Data returns an ConflictException. + /// This parameter is optional when using the CLI or SDK. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.DirectoryServiceData.Model.UpdateUserResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-DSDUser (UpdateUser)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.ClientToken = this.ClientToken; + context.DirectoryId = this.DirectoryId; + #if MODULAR + if (this.DirectoryId == null && ParameterWasBound(nameof(this.DirectoryId))) + { + WriteWarning("You are passing $null as a value for parameter DirectoryId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.EmailAddress = this.EmailAddress; + context.GivenName = this.GivenName; + if (this.OtherAttribute != null) + { + context.OtherAttribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.OtherAttribute.Keys) + { + context.OtherAttribute.Add((String)hashKey, (Amazon.DirectoryServiceData.Model.AttributeValue)(this.OtherAttribute[hashKey])); + } + } + context.SAMAccountName = this.SAMAccountName; + #if MODULAR + if (this.SAMAccountName == null && ParameterWasBound(nameof(this.SAMAccountName))) + { + WriteWarning("You are passing $null as a value for parameter SAMAccountName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Surname = this.Surname; + context.UpdateType = this.UpdateType; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DirectoryServiceData.Model.UpdateUserRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.DirectoryId != null) + { + request.DirectoryId = cmdletContext.DirectoryId; + } + if (cmdletContext.EmailAddress != null) + { + request.EmailAddress = cmdletContext.EmailAddress; + } + if (cmdletContext.GivenName != null) + { + request.GivenName = cmdletContext.GivenName; + } + if (cmdletContext.OtherAttribute != null) + { + request.OtherAttributes = cmdletContext.OtherAttribute; + } + if (cmdletContext.SAMAccountName != null) + { + request.SAMAccountName = cmdletContext.SAMAccountName; + } + if (cmdletContext.Surname != null) + { + request.Surname = cmdletContext.Surname; + } + if (cmdletContext.UpdateType != null) + { + request.UpdateType = cmdletContext.UpdateType; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DirectoryServiceData.Model.UpdateUserResponse CallAWSServiceOperation(IAmazonDirectoryServiceData client, Amazon.DirectoryServiceData.Model.UpdateUserRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Directory Service Data", "UpdateUser"); + try + { + #if DESKTOP + return client.UpdateUser(request); + #elif CORECLR + return client.UpdateUserAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String DirectoryId { get; set; } + public System.String EmailAddress { get; set; } + public System.String GivenName { get; set; } + public Dictionary OtherAttribute { get; set; } + public System.String SAMAccountName { get; set; } + public System.String Surname { get; set; } + public Amazon.DirectoryServiceData.UpdateType UpdateType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DocDB/AmazonDocDBClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DocDB/AmazonDocDBClientCmdlet.cs index 20d0f85120..9910536ceb 100644 --- a/modules/AWSPowerShell/Cmdlets/DocDB/AmazonDocDBClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DocDB/AmazonDocDBClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDocDB CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDocDBConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DocDBElastic/AmazonDocDBElasticClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DocDBElastic/AmazonDocDBElasticClientCmdlet.cs index 61bee9cde6..77536a7ebe 100644 --- a/modules/AWSPowerShell/Cmdlets/DocDBElastic/AmazonDocDBElasticClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DocDBElastic/AmazonDocDBElasticClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDocDBElastic CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDocDBElasticConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Drs/AmazonDrsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Drs/AmazonDrsClientCmdlet.cs index 115c00bb64..9ff3877815 100644 --- a/modules/AWSPowerShell/Cmdlets/Drs/AmazonDrsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Drs/AmazonDrsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDrs CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDrsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DynamoDBv2/AmazonDynamoDBClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/DynamoDBv2/AmazonDynamoDBClientCmdlet.cs index 38b5fd31c3..cd74e49c0b 100644 --- a/modules/AWSPowerShell/Cmdlets/DynamoDBv2/AmazonDynamoDBClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DynamoDBv2/AmazonDynamoDBClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonDynamoDB CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonDynamoDBConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Add-DDBResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Add-DDBResourceTag-Cmdlet.cs index 05af062a9e..3310a1cc00 100644 --- a/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Add-DDBResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Add-DDBResourceTag-Cmdlet.cs @@ -33,8 +33,17 @@ namespace Amazon.PowerShell.Cmdlets.DDB /// cost allocation tracking. You can call TagResource up to five times per second, per /// account. /// - /// - /// + ///
    • TagResource is an asynchronous operation. If you issue a ListTagsOfResource + /// request immediately after a TagResource request, DynamoDB might return your + /// previous tag set, if there was one, or an empty tag set. This is because ListTagsOfResource + /// uses an eventually consistent query, and the metadata for your tags or table might + /// not be available at that moment. Wait for a few seconds, and then try the ListTagsOfResource + /// request again. + ///
    • + /// The application or removal of tags using TagResource and UntagResource + /// APIs is eventually consistent. ListTagsOfResource API will only reflect the + /// changes after a few seconds. + ///
    /// For an overview on tagging DynamoDB resources, see Tagging /// for DynamoDB in the Amazon DynamoDB Developer Guide. /// diff --git a/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Remove-DDBResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Remove-DDBResourceTag-Cmdlet.cs index 9f0afd3a12..5629de9524 100644 --- a/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Remove-DDBResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/DynamoDBv2/Basic/Remove-DDBResourceTag-Cmdlet.cs @@ -31,8 +31,17 @@ namespace Amazon.PowerShell.Cmdlets.DDB /// Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource /// up to five times per second, per account. /// - /// - /// + ///
    • UntagResource is an asynchronous operation. If you issue a ListTagsOfResource + /// request immediately after an UntagResource request, DynamoDB might return your + /// previous tag set, if there was one, or an empty tag set. This is because ListTagsOfResource + /// uses an eventually consistent query, and the metadata for your tags or table might + /// not be available at that moment. Wait for a few seconds, and then try the ListTagsOfResource + /// request again. + ///
    • + /// The application or removal of tags using TagResource and UntagResource + /// APIs is eventually consistent. ListTagsOfResource API will only reflect the + /// changes after a few seconds. + ///
    /// For an overview on tagging DynamoDB resources, see Tagging /// for DynamoDB in the Amazon DynamoDB Developer Guide. /// diff --git a/modules/AWSPowerShell/Cmdlets/EBS/AmazonEBSClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EBS/AmazonEBSClientCmdlet.cs index 5fb3db53fb..23f110c05c 100644 --- a/modules/AWSPowerShell/Cmdlets/EBS/AmazonEBSClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EBS/AmazonEBSClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEBS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEBSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EC2/AWS.Tools.EC2.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/EC2/AWS.Tools.EC2.Completers.psm1 index b8a1b2dbce..6c3bd1fea7 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/AWS.Tools.EC2.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/EC2/AWS.Tools.EC2.Completers.psm1 @@ -405,7 +405,7 @@ $EC2_Completers = { # Amazon.EC2.FleetCapacityReservationUsageStrategy "New-EC2Fleet/CapacityReservationOptions_UsageStrategy" { - $v = "use-capacity-reservations-first" + $v = "none","use-capacity-reservations-first","use-capacity-reservations-only" break } @@ -638,7 +638,7 @@ $EC2_Completers = { ($_ -eq "Request-EC2SpotInstance/LaunchSpecification_InstanceType") } { - $v = "a1.2xlarge","a1.4xlarge","a1.large","a1.medium","a1.metal","a1.xlarge","c1.medium","c1.xlarge","c3.2xlarge","c3.4xlarge","c3.8xlarge","c3.large","c3.xlarge","c4.2xlarge","c4.4xlarge","c4.8xlarge","c4.large","c4.xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.large","c5.metal","c5.xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.large","c5a.xlarge","c5ad.12xlarge","c5ad.16xlarge","c5ad.24xlarge","c5ad.2xlarge","c5ad.4xlarge","c5ad.8xlarge","c5ad.large","c5ad.xlarge","c5d.12xlarge","c5d.18xlarge","c5d.24xlarge","c5d.2xlarge","c5d.4xlarge","c5d.9xlarge","c5d.large","c5d.metal","c5d.xlarge","c5n.18xlarge","c5n.2xlarge","c5n.4xlarge","c5n.9xlarge","c5n.large","c5n.metal","c5n.xlarge","c6a.12xlarge","c6a.16xlarge","c6a.24xlarge","c6a.2xlarge","c6a.32xlarge","c6a.48xlarge","c6a.4xlarge","c6a.8xlarge","c6a.large","c6a.metal","c6a.xlarge","c6g.12xlarge","c6g.16xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.large","c6g.medium","c6g.metal","c6g.xlarge","c6gd.12xlarge","c6gd.16xlarge","c6gd.2xlarge","c6gd.4xlarge","c6gd.8xlarge","c6gd.large","c6gd.medium","c6gd.metal","c6gd.xlarge","c6gn.12xlarge","c6gn.16xlarge","c6gn.2xlarge","c6gn.4xlarge","c6gn.8xlarge","c6gn.large","c6gn.medium","c6gn.xlarge","c6i.12xlarge","c6i.16xlarge","c6i.24xlarge","c6i.2xlarge","c6i.32xlarge","c6i.4xlarge","c6i.8xlarge","c6i.large","c6i.metal","c6i.xlarge","c6id.12xlarge","c6id.16xlarge","c6id.24xlarge","c6id.2xlarge","c6id.32xlarge","c6id.4xlarge","c6id.8xlarge","c6id.large","c6id.metal","c6id.xlarge","c6in.12xlarge","c6in.16xlarge","c6in.24xlarge","c6in.2xlarge","c6in.32xlarge","c6in.4xlarge","c6in.8xlarge","c6in.large","c6in.metal","c6in.xlarge","c7a.12xlarge","c7a.16xlarge","c7a.24xlarge","c7a.2xlarge","c7a.32xlarge","c7a.48xlarge","c7a.4xlarge","c7a.8xlarge","c7a.large","c7a.medium","c7a.metal-48xl","c7a.xlarge","c7g.12xlarge","c7g.16xlarge","c7g.2xlarge","c7g.4xlarge","c7g.8xlarge","c7g.large","c7g.medium","c7g.metal","c7g.xlarge","c7gd.12xlarge","c7gd.16xlarge","c7gd.2xlarge","c7gd.4xlarge","c7gd.8xlarge","c7gd.large","c7gd.medium","c7gd.metal","c7gd.xlarge","c7gn.12xlarge","c7gn.16xlarge","c7gn.2xlarge","c7gn.4xlarge","c7gn.8xlarge","c7gn.large","c7gn.medium","c7gn.metal","c7gn.xlarge","c7i-flex.2xlarge","c7i-flex.4xlarge","c7i-flex.8xlarge","c7i-flex.large","c7i-flex.xlarge","c7i.12xlarge","c7i.16xlarge","c7i.24xlarge","c7i.2xlarge","c7i.48xlarge","c7i.4xlarge","c7i.8xlarge","c7i.large","c7i.metal-24xl","c7i.metal-48xl","c7i.xlarge","cc1.4xlarge","cc2.8xlarge","cg1.4xlarge","cr1.8xlarge","d2.2xlarge","d2.4xlarge","d2.8xlarge","d2.xlarge","d3.2xlarge","d3.4xlarge","d3.8xlarge","d3.xlarge","d3en.12xlarge","d3en.2xlarge","d3en.4xlarge","d3en.6xlarge","d3en.8xlarge","d3en.xlarge","dl1.24xlarge","dl2q.24xlarge","f1.16xlarge","f1.2xlarge","f1.4xlarge","g2.2xlarge","g2.8xlarge","g3.16xlarge","g3.4xlarge","g3.8xlarge","g3s.xlarge","g4ad.16xlarge","g4ad.2xlarge","g4ad.4xlarge","g4ad.8xlarge","g4ad.xlarge","g4dn.12xlarge","g4dn.16xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.metal","g4dn.xlarge","g5.12xlarge","g5.16xlarge","g5.24xlarge","g5.2xlarge","g5.48xlarge","g5.4xlarge","g5.8xlarge","g5.xlarge","g5g.16xlarge","g5g.2xlarge","g5g.4xlarge","g5g.8xlarge","g5g.metal","g5g.xlarge","g6.12xlarge","g6.16xlarge","g6.24xlarge","g6.2xlarge","g6.48xlarge","g6.4xlarge","g6.8xlarge","g6.xlarge","gr6.4xlarge","gr6.8xlarge","h1.16xlarge","h1.2xlarge","h1.4xlarge","h1.8xlarge","hi1.4xlarge","hpc6a.48xlarge","hpc6id.32xlarge","hpc7a.12xlarge","hpc7a.24xlarge","hpc7a.48xlarge","hpc7a.96xlarge","hpc7g.16xlarge","hpc7g.4xlarge","hpc7g.8xlarge","hs1.8xlarge","i2.2xlarge","i2.4xlarge","i2.8xlarge","i2.xlarge","i3.16xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.large","i3.metal","i3.xlarge","i3en.12xlarge","i3en.24xlarge","i3en.2xlarge","i3en.3xlarge","i3en.6xlarge","i3en.large","i3en.metal","i3en.xlarge","i4g.16xlarge","i4g.2xlarge","i4g.4xlarge","i4g.8xlarge","i4g.large","i4g.xlarge","i4i.12xlarge","i4i.16xlarge","i4i.24xlarge","i4i.2xlarge","i4i.32xlarge","i4i.4xlarge","i4i.8xlarge","i4i.large","i4i.metal","i4i.xlarge","im4gn.16xlarge","im4gn.2xlarge","im4gn.4xlarge","im4gn.8xlarge","im4gn.large","im4gn.xlarge","inf1.24xlarge","inf1.2xlarge","inf1.6xlarge","inf1.xlarge","inf2.24xlarge","inf2.48xlarge","inf2.8xlarge","inf2.xlarge","is4gen.2xlarge","is4gen.4xlarge","is4gen.8xlarge","is4gen.large","is4gen.medium","is4gen.xlarge","m1.large","m1.medium","m1.small","m1.xlarge","m2.2xlarge","m2.4xlarge","m2.xlarge","m3.2xlarge","m3.large","m3.medium","m3.xlarge","m4.10xlarge","m4.16xlarge","m4.2xlarge","m4.4xlarge","m4.large","m4.xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.large","m5.metal","m5.xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.large","m5a.xlarge","m5ad.12xlarge","m5ad.16xlarge","m5ad.24xlarge","m5ad.2xlarge","m5ad.4xlarge","m5ad.8xlarge","m5ad.large","m5ad.xlarge","m5d.12xlarge","m5d.16xlarge","m5d.24xlarge","m5d.2xlarge","m5d.4xlarge","m5d.8xlarge","m5d.large","m5d.metal","m5d.xlarge","m5dn.12xlarge","m5dn.16xlarge","m5dn.24xlarge","m5dn.2xlarge","m5dn.4xlarge","m5dn.8xlarge","m5dn.large","m5dn.metal","m5dn.xlarge","m5n.12xlarge","m5n.16xlarge","m5n.24xlarge","m5n.2xlarge","m5n.4xlarge","m5n.8xlarge","m5n.large","m5n.metal","m5n.xlarge","m5zn.12xlarge","m5zn.2xlarge","m5zn.3xlarge","m5zn.6xlarge","m5zn.large","m5zn.metal","m5zn.xlarge","m6a.12xlarge","m6a.16xlarge","m6a.24xlarge","m6a.2xlarge","m6a.32xlarge","m6a.48xlarge","m6a.4xlarge","m6a.8xlarge","m6a.large","m6a.metal","m6a.xlarge","m6g.12xlarge","m6g.16xlarge","m6g.2xlarge","m6g.4xlarge","m6g.8xlarge","m6g.large","m6g.medium","m6g.metal","m6g.xlarge","m6gd.12xlarge","m6gd.16xlarge","m6gd.2xlarge","m6gd.4xlarge","m6gd.8xlarge","m6gd.large","m6gd.medium","m6gd.metal","m6gd.xlarge","m6i.12xlarge","m6i.16xlarge","m6i.24xlarge","m6i.2xlarge","m6i.32xlarge","m6i.4xlarge","m6i.8xlarge","m6i.large","m6i.metal","m6i.xlarge","m6id.12xlarge","m6id.16xlarge","m6id.24xlarge","m6id.2xlarge","m6id.32xlarge","m6id.4xlarge","m6id.8xlarge","m6id.large","m6id.metal","m6id.xlarge","m6idn.12xlarge","m6idn.16xlarge","m6idn.24xlarge","m6idn.2xlarge","m6idn.32xlarge","m6idn.4xlarge","m6idn.8xlarge","m6idn.large","m6idn.metal","m6idn.xlarge","m6in.12xlarge","m6in.16xlarge","m6in.24xlarge","m6in.2xlarge","m6in.32xlarge","m6in.4xlarge","m6in.8xlarge","m6in.large","m6in.metal","m6in.xlarge","m7a.12xlarge","m7a.16xlarge","m7a.24xlarge","m7a.2xlarge","m7a.32xlarge","m7a.48xlarge","m7a.4xlarge","m7a.8xlarge","m7a.large","m7a.medium","m7a.metal-48xl","m7a.xlarge","m7g.12xlarge","m7g.16xlarge","m7g.2xlarge","m7g.4xlarge","m7g.8xlarge","m7g.large","m7g.medium","m7g.metal","m7g.xlarge","m7gd.12xlarge","m7gd.16xlarge","m7gd.2xlarge","m7gd.4xlarge","m7gd.8xlarge","m7gd.large","m7gd.medium","m7gd.metal","m7gd.xlarge","m7i-flex.2xlarge","m7i-flex.4xlarge","m7i-flex.8xlarge","m7i-flex.large","m7i-flex.xlarge","m7i.12xlarge","m7i.16xlarge","m7i.24xlarge","m7i.2xlarge","m7i.48xlarge","m7i.4xlarge","m7i.8xlarge","m7i.large","m7i.metal-24xl","m7i.metal-48xl","m7i.xlarge","mac1.metal","mac2-m1ultra.metal","mac2-m2.metal","mac2-m2pro.metal","mac2.metal","p2.16xlarge","p2.8xlarge","p2.xlarge","p3.16xlarge","p3.2xlarge","p3.8xlarge","p3dn.24xlarge","p4d.24xlarge","p4de.24xlarge","p5.48xlarge","r3.2xlarge","r3.4xlarge","r3.8xlarge","r3.large","r3.xlarge","r4.16xlarge","r4.2xlarge","r4.4xlarge","r4.8xlarge","r4.large","r4.xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.large","r5.metal","r5.xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.large","r5a.xlarge","r5ad.12xlarge","r5ad.16xlarge","r5ad.24xlarge","r5ad.2xlarge","r5ad.4xlarge","r5ad.8xlarge","r5ad.large","r5ad.xlarge","r5b.12xlarge","r5b.16xlarge","r5b.24xlarge","r5b.2xlarge","r5b.4xlarge","r5b.8xlarge","r5b.large","r5b.metal","r5b.xlarge","r5d.12xlarge","r5d.16xlarge","r5d.24xlarge","r5d.2xlarge","r5d.4xlarge","r5d.8xlarge","r5d.large","r5d.metal","r5d.xlarge","r5dn.12xlarge","r5dn.16xlarge","r5dn.24xlarge","r5dn.2xlarge","r5dn.4xlarge","r5dn.8xlarge","r5dn.large","r5dn.metal","r5dn.xlarge","r5n.12xlarge","r5n.16xlarge","r5n.24xlarge","r5n.2xlarge","r5n.4xlarge","r5n.8xlarge","r5n.large","r5n.metal","r5n.xlarge","r6a.12xlarge","r6a.16xlarge","r6a.24xlarge","r6a.2xlarge","r6a.32xlarge","r6a.48xlarge","r6a.4xlarge","r6a.8xlarge","r6a.large","r6a.metal","r6a.xlarge","r6g.12xlarge","r6g.16xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.large","r6g.medium","r6g.metal","r6g.xlarge","r6gd.12xlarge","r6gd.16xlarge","r6gd.2xlarge","r6gd.4xlarge","r6gd.8xlarge","r6gd.large","r6gd.medium","r6gd.metal","r6gd.xlarge","r6i.12xlarge","r6i.16xlarge","r6i.24xlarge","r6i.2xlarge","r6i.32xlarge","r6i.4xlarge","r6i.8xlarge","r6i.large","r6i.metal","r6i.xlarge","r6id.12xlarge","r6id.16xlarge","r6id.24xlarge","r6id.2xlarge","r6id.32xlarge","r6id.4xlarge","r6id.8xlarge","r6id.large","r6id.metal","r6id.xlarge","r6idn.12xlarge","r6idn.16xlarge","r6idn.24xlarge","r6idn.2xlarge","r6idn.32xlarge","r6idn.4xlarge","r6idn.8xlarge","r6idn.large","r6idn.metal","r6idn.xlarge","r6in.12xlarge","r6in.16xlarge","r6in.24xlarge","r6in.2xlarge","r6in.32xlarge","r6in.4xlarge","r6in.8xlarge","r6in.large","r6in.metal","r6in.xlarge","r7a.12xlarge","r7a.16xlarge","r7a.24xlarge","r7a.2xlarge","r7a.32xlarge","r7a.48xlarge","r7a.4xlarge","r7a.8xlarge","r7a.large","r7a.medium","r7a.metal-48xl","r7a.xlarge","r7g.12xlarge","r7g.16xlarge","r7g.2xlarge","r7g.4xlarge","r7g.8xlarge","r7g.large","r7g.medium","r7g.metal","r7g.xlarge","r7gd.12xlarge","r7gd.16xlarge","r7gd.2xlarge","r7gd.4xlarge","r7gd.8xlarge","r7gd.large","r7gd.medium","r7gd.metal","r7gd.xlarge","r7i.12xlarge","r7i.16xlarge","r7i.24xlarge","r7i.2xlarge","r7i.48xlarge","r7i.4xlarge","r7i.8xlarge","r7i.large","r7i.metal-24xl","r7i.metal-48xl","r7i.xlarge","r7iz.12xlarge","r7iz.16xlarge","r7iz.2xlarge","r7iz.32xlarge","r7iz.4xlarge","r7iz.8xlarge","r7iz.large","r7iz.metal-16xl","r7iz.metal-32xl","r7iz.xlarge","r8g.12xlarge","r8g.16xlarge","r8g.24xlarge","r8g.2xlarge","r8g.48xlarge","r8g.4xlarge","r8g.8xlarge","r8g.large","r8g.medium","r8g.metal-24xl","r8g.metal-48xl","r8g.xlarge","t1.micro","t2.2xlarge","t2.large","t2.medium","t2.micro","t2.nano","t2.small","t2.xlarge","t3.2xlarge","t3.large","t3.medium","t3.micro","t3.nano","t3.small","t3.xlarge","t3a.2xlarge","t3a.large","t3a.medium","t3a.micro","t3a.nano","t3a.small","t3a.xlarge","t4g.2xlarge","t4g.large","t4g.medium","t4g.micro","t4g.nano","t4g.small","t4g.xlarge","trn1.2xlarge","trn1.32xlarge","trn1n.32xlarge","u-12tb1.112xlarge","u-12tb1.metal","u-18tb1.112xlarge","u-18tb1.metal","u-24tb1.112xlarge","u-24tb1.metal","u-3tb1.56xlarge","u-6tb1.112xlarge","u-6tb1.56xlarge","u-6tb1.metal","u-9tb1.112xlarge","u-9tb1.metal","u7i-12tb.224xlarge","u7ib-12tb.224xlarge","u7in-16tb.224xlarge","u7in-24tb.224xlarge","u7in-32tb.224xlarge","vt1.24xlarge","vt1.3xlarge","vt1.6xlarge","x1.16xlarge","x1.32xlarge","x1e.16xlarge","x1e.2xlarge","x1e.32xlarge","x1e.4xlarge","x1e.8xlarge","x1e.xlarge","x2gd.12xlarge","x2gd.16xlarge","x2gd.2xlarge","x2gd.4xlarge","x2gd.8xlarge","x2gd.large","x2gd.medium","x2gd.metal","x2gd.xlarge","x2idn.16xlarge","x2idn.24xlarge","x2idn.32xlarge","x2idn.metal","x2iedn.16xlarge","x2iedn.24xlarge","x2iedn.2xlarge","x2iedn.32xlarge","x2iedn.4xlarge","x2iedn.8xlarge","x2iedn.metal","x2iedn.xlarge","x2iezn.12xlarge","x2iezn.2xlarge","x2iezn.4xlarge","x2iezn.6xlarge","x2iezn.8xlarge","x2iezn.metal","z1d.12xlarge","z1d.2xlarge","z1d.3xlarge","z1d.6xlarge","z1d.large","z1d.metal","z1d.xlarge" + $v = "a1.2xlarge","a1.4xlarge","a1.large","a1.medium","a1.metal","a1.xlarge","c1.medium","c1.xlarge","c3.2xlarge","c3.4xlarge","c3.8xlarge","c3.large","c3.xlarge","c4.2xlarge","c4.4xlarge","c4.8xlarge","c4.large","c4.xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.large","c5.metal","c5.xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.large","c5a.xlarge","c5ad.12xlarge","c5ad.16xlarge","c5ad.24xlarge","c5ad.2xlarge","c5ad.4xlarge","c5ad.8xlarge","c5ad.large","c5ad.xlarge","c5d.12xlarge","c5d.18xlarge","c5d.24xlarge","c5d.2xlarge","c5d.4xlarge","c5d.9xlarge","c5d.large","c5d.metal","c5d.xlarge","c5n.18xlarge","c5n.2xlarge","c5n.4xlarge","c5n.9xlarge","c5n.large","c5n.metal","c5n.xlarge","c6a.12xlarge","c6a.16xlarge","c6a.24xlarge","c6a.2xlarge","c6a.32xlarge","c6a.48xlarge","c6a.4xlarge","c6a.8xlarge","c6a.large","c6a.metal","c6a.xlarge","c6g.12xlarge","c6g.16xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.large","c6g.medium","c6g.metal","c6g.xlarge","c6gd.12xlarge","c6gd.16xlarge","c6gd.2xlarge","c6gd.4xlarge","c6gd.8xlarge","c6gd.large","c6gd.medium","c6gd.metal","c6gd.xlarge","c6gn.12xlarge","c6gn.16xlarge","c6gn.2xlarge","c6gn.4xlarge","c6gn.8xlarge","c6gn.large","c6gn.medium","c6gn.xlarge","c6i.12xlarge","c6i.16xlarge","c6i.24xlarge","c6i.2xlarge","c6i.32xlarge","c6i.4xlarge","c6i.8xlarge","c6i.large","c6i.metal","c6i.xlarge","c6id.12xlarge","c6id.16xlarge","c6id.24xlarge","c6id.2xlarge","c6id.32xlarge","c6id.4xlarge","c6id.8xlarge","c6id.large","c6id.metal","c6id.xlarge","c6in.12xlarge","c6in.16xlarge","c6in.24xlarge","c6in.2xlarge","c6in.32xlarge","c6in.4xlarge","c6in.8xlarge","c6in.large","c6in.metal","c6in.xlarge","c7a.12xlarge","c7a.16xlarge","c7a.24xlarge","c7a.2xlarge","c7a.32xlarge","c7a.48xlarge","c7a.4xlarge","c7a.8xlarge","c7a.large","c7a.medium","c7a.metal-48xl","c7a.xlarge","c7g.12xlarge","c7g.16xlarge","c7g.2xlarge","c7g.4xlarge","c7g.8xlarge","c7g.large","c7g.medium","c7g.metal","c7g.xlarge","c7gd.12xlarge","c7gd.16xlarge","c7gd.2xlarge","c7gd.4xlarge","c7gd.8xlarge","c7gd.large","c7gd.medium","c7gd.metal","c7gd.xlarge","c7gn.12xlarge","c7gn.16xlarge","c7gn.2xlarge","c7gn.4xlarge","c7gn.8xlarge","c7gn.large","c7gn.medium","c7gn.metal","c7gn.xlarge","c7i-flex.2xlarge","c7i-flex.4xlarge","c7i-flex.8xlarge","c7i-flex.large","c7i-flex.xlarge","c7i.12xlarge","c7i.16xlarge","c7i.24xlarge","c7i.2xlarge","c7i.48xlarge","c7i.4xlarge","c7i.8xlarge","c7i.large","c7i.metal-24xl","c7i.metal-48xl","c7i.xlarge","cc1.4xlarge","cc2.8xlarge","cg1.4xlarge","cr1.8xlarge","d2.2xlarge","d2.4xlarge","d2.8xlarge","d2.xlarge","d3.2xlarge","d3.4xlarge","d3.8xlarge","d3.xlarge","d3en.12xlarge","d3en.2xlarge","d3en.4xlarge","d3en.6xlarge","d3en.8xlarge","d3en.xlarge","dl1.24xlarge","dl2q.24xlarge","f1.16xlarge","f1.2xlarge","f1.4xlarge","g2.2xlarge","g2.8xlarge","g3.16xlarge","g3.4xlarge","g3.8xlarge","g3s.xlarge","g4ad.16xlarge","g4ad.2xlarge","g4ad.4xlarge","g4ad.8xlarge","g4ad.xlarge","g4dn.12xlarge","g4dn.16xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.metal","g4dn.xlarge","g5.12xlarge","g5.16xlarge","g5.24xlarge","g5.2xlarge","g5.48xlarge","g5.4xlarge","g5.8xlarge","g5.xlarge","g5g.16xlarge","g5g.2xlarge","g5g.4xlarge","g5g.8xlarge","g5g.metal","g5g.xlarge","g6.12xlarge","g6.16xlarge","g6.24xlarge","g6.2xlarge","g6.48xlarge","g6.4xlarge","g6.8xlarge","g6.xlarge","g6e.12xlarge","g6e.16xlarge","g6e.24xlarge","g6e.2xlarge","g6e.48xlarge","g6e.4xlarge","g6e.8xlarge","g6e.xlarge","gr6.4xlarge","gr6.8xlarge","h1.16xlarge","h1.2xlarge","h1.4xlarge","h1.8xlarge","hi1.4xlarge","hpc6a.48xlarge","hpc6id.32xlarge","hpc7a.12xlarge","hpc7a.24xlarge","hpc7a.48xlarge","hpc7a.96xlarge","hpc7g.16xlarge","hpc7g.4xlarge","hpc7g.8xlarge","hs1.8xlarge","i2.2xlarge","i2.4xlarge","i2.8xlarge","i2.xlarge","i3.16xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.large","i3.metal","i3.xlarge","i3en.12xlarge","i3en.24xlarge","i3en.2xlarge","i3en.3xlarge","i3en.6xlarge","i3en.large","i3en.metal","i3en.xlarge","i4g.16xlarge","i4g.2xlarge","i4g.4xlarge","i4g.8xlarge","i4g.large","i4g.xlarge","i4i.12xlarge","i4i.16xlarge","i4i.24xlarge","i4i.2xlarge","i4i.32xlarge","i4i.4xlarge","i4i.8xlarge","i4i.large","i4i.metal","i4i.xlarge","im4gn.16xlarge","im4gn.2xlarge","im4gn.4xlarge","im4gn.8xlarge","im4gn.large","im4gn.xlarge","inf1.24xlarge","inf1.2xlarge","inf1.6xlarge","inf1.xlarge","inf2.24xlarge","inf2.48xlarge","inf2.8xlarge","inf2.xlarge","is4gen.2xlarge","is4gen.4xlarge","is4gen.8xlarge","is4gen.large","is4gen.medium","is4gen.xlarge","m1.large","m1.medium","m1.small","m1.xlarge","m2.2xlarge","m2.4xlarge","m2.xlarge","m3.2xlarge","m3.large","m3.medium","m3.xlarge","m4.10xlarge","m4.16xlarge","m4.2xlarge","m4.4xlarge","m4.large","m4.xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.large","m5.metal","m5.xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.large","m5a.xlarge","m5ad.12xlarge","m5ad.16xlarge","m5ad.24xlarge","m5ad.2xlarge","m5ad.4xlarge","m5ad.8xlarge","m5ad.large","m5ad.xlarge","m5d.12xlarge","m5d.16xlarge","m5d.24xlarge","m5d.2xlarge","m5d.4xlarge","m5d.8xlarge","m5d.large","m5d.metal","m5d.xlarge","m5dn.12xlarge","m5dn.16xlarge","m5dn.24xlarge","m5dn.2xlarge","m5dn.4xlarge","m5dn.8xlarge","m5dn.large","m5dn.metal","m5dn.xlarge","m5n.12xlarge","m5n.16xlarge","m5n.24xlarge","m5n.2xlarge","m5n.4xlarge","m5n.8xlarge","m5n.large","m5n.metal","m5n.xlarge","m5zn.12xlarge","m5zn.2xlarge","m5zn.3xlarge","m5zn.6xlarge","m5zn.large","m5zn.metal","m5zn.xlarge","m6a.12xlarge","m6a.16xlarge","m6a.24xlarge","m6a.2xlarge","m6a.32xlarge","m6a.48xlarge","m6a.4xlarge","m6a.8xlarge","m6a.large","m6a.metal","m6a.xlarge","m6g.12xlarge","m6g.16xlarge","m6g.2xlarge","m6g.4xlarge","m6g.8xlarge","m6g.large","m6g.medium","m6g.metal","m6g.xlarge","m6gd.12xlarge","m6gd.16xlarge","m6gd.2xlarge","m6gd.4xlarge","m6gd.8xlarge","m6gd.large","m6gd.medium","m6gd.metal","m6gd.xlarge","m6i.12xlarge","m6i.16xlarge","m6i.24xlarge","m6i.2xlarge","m6i.32xlarge","m6i.4xlarge","m6i.8xlarge","m6i.large","m6i.metal","m6i.xlarge","m6id.12xlarge","m6id.16xlarge","m6id.24xlarge","m6id.2xlarge","m6id.32xlarge","m6id.4xlarge","m6id.8xlarge","m6id.large","m6id.metal","m6id.xlarge","m6idn.12xlarge","m6idn.16xlarge","m6idn.24xlarge","m6idn.2xlarge","m6idn.32xlarge","m6idn.4xlarge","m6idn.8xlarge","m6idn.large","m6idn.metal","m6idn.xlarge","m6in.12xlarge","m6in.16xlarge","m6in.24xlarge","m6in.2xlarge","m6in.32xlarge","m6in.4xlarge","m6in.8xlarge","m6in.large","m6in.metal","m6in.xlarge","m7a.12xlarge","m7a.16xlarge","m7a.24xlarge","m7a.2xlarge","m7a.32xlarge","m7a.48xlarge","m7a.4xlarge","m7a.8xlarge","m7a.large","m7a.medium","m7a.metal-48xl","m7a.xlarge","m7g.12xlarge","m7g.16xlarge","m7g.2xlarge","m7g.4xlarge","m7g.8xlarge","m7g.large","m7g.medium","m7g.metal","m7g.xlarge","m7gd.12xlarge","m7gd.16xlarge","m7gd.2xlarge","m7gd.4xlarge","m7gd.8xlarge","m7gd.large","m7gd.medium","m7gd.metal","m7gd.xlarge","m7i-flex.2xlarge","m7i-flex.4xlarge","m7i-flex.8xlarge","m7i-flex.large","m7i-flex.xlarge","m7i.12xlarge","m7i.16xlarge","m7i.24xlarge","m7i.2xlarge","m7i.48xlarge","m7i.4xlarge","m7i.8xlarge","m7i.large","m7i.metal-24xl","m7i.metal-48xl","m7i.xlarge","mac1.metal","mac2-m1ultra.metal","mac2-m2.metal","mac2-m2pro.metal","mac2.metal","p2.16xlarge","p2.8xlarge","p2.xlarge","p3.16xlarge","p3.2xlarge","p3.8xlarge","p3dn.24xlarge","p4d.24xlarge","p4de.24xlarge","p5.48xlarge","r3.2xlarge","r3.4xlarge","r3.8xlarge","r3.large","r3.xlarge","r4.16xlarge","r4.2xlarge","r4.4xlarge","r4.8xlarge","r4.large","r4.xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.large","r5.metal","r5.xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.large","r5a.xlarge","r5ad.12xlarge","r5ad.16xlarge","r5ad.24xlarge","r5ad.2xlarge","r5ad.4xlarge","r5ad.8xlarge","r5ad.large","r5ad.xlarge","r5b.12xlarge","r5b.16xlarge","r5b.24xlarge","r5b.2xlarge","r5b.4xlarge","r5b.8xlarge","r5b.large","r5b.metal","r5b.xlarge","r5d.12xlarge","r5d.16xlarge","r5d.24xlarge","r5d.2xlarge","r5d.4xlarge","r5d.8xlarge","r5d.large","r5d.metal","r5d.xlarge","r5dn.12xlarge","r5dn.16xlarge","r5dn.24xlarge","r5dn.2xlarge","r5dn.4xlarge","r5dn.8xlarge","r5dn.large","r5dn.metal","r5dn.xlarge","r5n.12xlarge","r5n.16xlarge","r5n.24xlarge","r5n.2xlarge","r5n.4xlarge","r5n.8xlarge","r5n.large","r5n.metal","r5n.xlarge","r6a.12xlarge","r6a.16xlarge","r6a.24xlarge","r6a.2xlarge","r6a.32xlarge","r6a.48xlarge","r6a.4xlarge","r6a.8xlarge","r6a.large","r6a.metal","r6a.xlarge","r6g.12xlarge","r6g.16xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.large","r6g.medium","r6g.metal","r6g.xlarge","r6gd.12xlarge","r6gd.16xlarge","r6gd.2xlarge","r6gd.4xlarge","r6gd.8xlarge","r6gd.large","r6gd.medium","r6gd.metal","r6gd.xlarge","r6i.12xlarge","r6i.16xlarge","r6i.24xlarge","r6i.2xlarge","r6i.32xlarge","r6i.4xlarge","r6i.8xlarge","r6i.large","r6i.metal","r6i.xlarge","r6id.12xlarge","r6id.16xlarge","r6id.24xlarge","r6id.2xlarge","r6id.32xlarge","r6id.4xlarge","r6id.8xlarge","r6id.large","r6id.metal","r6id.xlarge","r6idn.12xlarge","r6idn.16xlarge","r6idn.24xlarge","r6idn.2xlarge","r6idn.32xlarge","r6idn.4xlarge","r6idn.8xlarge","r6idn.large","r6idn.metal","r6idn.xlarge","r6in.12xlarge","r6in.16xlarge","r6in.24xlarge","r6in.2xlarge","r6in.32xlarge","r6in.4xlarge","r6in.8xlarge","r6in.large","r6in.metal","r6in.xlarge","r7a.12xlarge","r7a.16xlarge","r7a.24xlarge","r7a.2xlarge","r7a.32xlarge","r7a.48xlarge","r7a.4xlarge","r7a.8xlarge","r7a.large","r7a.medium","r7a.metal-48xl","r7a.xlarge","r7g.12xlarge","r7g.16xlarge","r7g.2xlarge","r7g.4xlarge","r7g.8xlarge","r7g.large","r7g.medium","r7g.metal","r7g.xlarge","r7gd.12xlarge","r7gd.16xlarge","r7gd.2xlarge","r7gd.4xlarge","r7gd.8xlarge","r7gd.large","r7gd.medium","r7gd.metal","r7gd.xlarge","r7i.12xlarge","r7i.16xlarge","r7i.24xlarge","r7i.2xlarge","r7i.48xlarge","r7i.4xlarge","r7i.8xlarge","r7i.large","r7i.metal-24xl","r7i.metal-48xl","r7i.xlarge","r7iz.12xlarge","r7iz.16xlarge","r7iz.2xlarge","r7iz.32xlarge","r7iz.4xlarge","r7iz.8xlarge","r7iz.large","r7iz.metal-16xl","r7iz.metal-32xl","r7iz.xlarge","r8g.12xlarge","r8g.16xlarge","r8g.24xlarge","r8g.2xlarge","r8g.48xlarge","r8g.4xlarge","r8g.8xlarge","r8g.large","r8g.medium","r8g.metal-24xl","r8g.metal-48xl","r8g.xlarge","t1.micro","t2.2xlarge","t2.large","t2.medium","t2.micro","t2.nano","t2.small","t2.xlarge","t3.2xlarge","t3.large","t3.medium","t3.micro","t3.nano","t3.small","t3.xlarge","t3a.2xlarge","t3a.large","t3a.medium","t3a.micro","t3a.nano","t3a.small","t3a.xlarge","t4g.2xlarge","t4g.large","t4g.medium","t4g.micro","t4g.nano","t4g.small","t4g.xlarge","trn1.2xlarge","trn1.32xlarge","trn1n.32xlarge","u-12tb1.112xlarge","u-12tb1.metal","u-18tb1.112xlarge","u-18tb1.metal","u-24tb1.112xlarge","u-24tb1.metal","u-3tb1.56xlarge","u-6tb1.112xlarge","u-6tb1.56xlarge","u-6tb1.metal","u-9tb1.112xlarge","u-9tb1.metal","u7i-12tb.224xlarge","u7ib-12tb.224xlarge","u7in-16tb.224xlarge","u7in-24tb.224xlarge","u7in-32tb.224xlarge","vt1.24xlarge","vt1.3xlarge","vt1.6xlarge","x1.16xlarge","x1.32xlarge","x1e.16xlarge","x1e.2xlarge","x1e.32xlarge","x1e.4xlarge","x1e.8xlarge","x1e.xlarge","x2gd.12xlarge","x2gd.16xlarge","x2gd.2xlarge","x2gd.4xlarge","x2gd.8xlarge","x2gd.large","x2gd.medium","x2gd.metal","x2gd.xlarge","x2idn.16xlarge","x2idn.24xlarge","x2idn.32xlarge","x2idn.metal","x2iedn.16xlarge","x2iedn.24xlarge","x2iedn.2xlarge","x2iedn.32xlarge","x2iedn.4xlarge","x2iedn.8xlarge","x2iedn.metal","x2iedn.xlarge","x2iezn.12xlarge","x2iezn.2xlarge","x2iezn.4xlarge","x2iezn.6xlarge","x2iezn.8xlarge","x2iezn.metal","z1d.12xlarge","z1d.2xlarge","z1d.3xlarge","z1d.6xlarge","z1d.large","z1d.metal","z1d.xlarge" break } diff --git a/modules/AWSPowerShell/Cmdlets/EC2/AmazonEC2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/AmazonEC2ClientCmdlet.cs index 549a70dcad..6c5f4f13db 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/AmazonEC2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/AmazonEC2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEC2 CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEC2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGateway-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGateway-Cmdlet.cs index 8f69f12e96..bb1632a3a1 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGateway-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGateway-Cmdlet.cs @@ -159,12 +159,9 @@ public partial class EditEC2TransitGatewayCmdlet : AmazonEC2ClientCmdlet, IExecu #region Parameter Options_SecurityGroupReferencingSupport /// /// - /// This parameter is in preview and may not be available for your account.Enables you to reference a security group across VPCs attached to a transit gateway. - /// Use this option to simplify security group management and control of instance-to-instance - /// traffic across VPCs that are connected by transit gateway. You can also use this option - /// to migrate from VPC peering (which was the only option that supported security group - /// referencing) to transit gateways (which now also support security group referencing). - /// This option is disabled by default and there are no additional costs to use this feature. + /// Enables you to reference a security group across VPCs attached to a transit gateway + /// to simplify security group management. This option is disabled by default.For more information about security group referencing, see Security + /// group referencing in the Amazon Web Services Transit Gateways Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGatewayVpcAttachment-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGatewayVpcAttachment-Cmdlet.cs index 8ba1f19054..9cb3c1f78b 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGatewayVpcAttachment-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2TransitGatewayVpcAttachment-Cmdlet.cs @@ -103,12 +103,9 @@ public partial class EditEC2TransitGatewayVpcAttachmentCmdlet : AmazonEC2ClientC #region Parameter Options_SecurityGroupReferencingSupport /// /// - /// This parameter is in preview and may not be available for your account.Enables you to reference a security group across VPCs attached to a transit gateway. - /// Use this option to simplify security group management and control of instance-to-instance - /// traffic across VPCs that are connected by transit gateway. You can also use this option - /// to migrate from VPC peering (which was the only option that supported security group - /// referencing) to transit gateways (which now also support security group referencing). - /// This option is disabled by default and there are no additional costs to use this feature. + /// Enables you to reference a security group across VPCs attached to a transit gateway + /// to simplify security group management. This option is disabled by default.For more information about security group referencing, see Security + /// group referencing in the Amazon Web Services Transit Gateways Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Get-EC2CapacityBlockOffering-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Get-EC2CapacityBlockOffering-Cmdlet.cs index dbb13f571c..847c75227f 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Get-EC2CapacityBlockOffering-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Get-EC2CapacityBlockOffering-Cmdlet.cs @@ -77,13 +77,7 @@ public partial class GetEC2CapacityBlockOfferingCmdlet : AmazonEC2ClientCmdlet, /// The number of instances for which to reserve capacity. ///
    ///
    - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] public System.Int32? InstanceCount { get; set; } #endregion @@ -93,14 +87,7 @@ public partial class GetEC2CapacityBlockOfferingCmdlet : AmazonEC2ClientCmdlet, /// The type of instance for which the Capacity Block offering reserves capacity. /// /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] public System.String InstanceType { get; set; } #endregion @@ -186,19 +173,7 @@ protected override void ProcessRecord() #endif context.EndDateRange = this.EndDateRange; context.InstanceCount = this.InstanceCount; - #if MODULAR - if (this.InstanceCount == null && ParameterWasBound(nameof(this.InstanceCount))) - { - WriteWarning("You are passing $null as a value for parameter InstanceCount which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif context.InstanceType = this.InstanceType; - #if MODULAR - if (this.InstanceType == null && ParameterWasBound(nameof(this.InstanceType))) - { - WriteWarning("You are passing $null as a value for parameter InstanceType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; context.StartDateRange = this.StartDateRange; diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Address-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Address-Cmdlet.cs index 6b6befd384..8aa3b4f85b 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Address-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Address-Cmdlet.cs @@ -98,6 +98,16 @@ public partial class NewEC2AddressCmdlet : AmazonEC2ClientCmdlet, IExecutor public Amazon.EC2.DomainType Domain { get; set; } #endregion + #region Parameter IpamPoolId + /// + /// + /// The ID of an IPAM pool. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String IpamPoolId { get; set; } + #endregion + #region Parameter NetworkBorderGroup /// /// @@ -178,6 +188,7 @@ protected override void ProcessRecord() context.Address = this.Address; context.CustomerOwnedIpv4Pool = this.CustomerOwnedIpv4Pool; context.Domain = this.Domain; + context.IpamPoolId = this.IpamPoolId; context.NetworkBorderGroup = this.NetworkBorderGroup; context.PublicIpv4Pool = this.PublicIpv4Pool; if (this.TagSpecification != null) @@ -212,6 +223,10 @@ public object Execute(ExecutorContext context) { request.Domain = cmdletContext.Domain; } + if (cmdletContext.IpamPoolId != null) + { + request.IpamPoolId = cmdletContext.IpamPoolId; + } if (cmdletContext.NetworkBorderGroup != null) { request.NetworkBorderGroup = cmdletContext.NetworkBorderGroup; @@ -288,6 +303,7 @@ internal partial class CmdletContext : ExecutorContext public System.String Address { get; set; } public System.String CustomerOwnedIpv4Pool { get; set; } public Amazon.EC2.DomainType Domain { get; set; } + public System.String IpamPoolId { get; set; } public System.String NetworkBorderGroup { get; set; } public System.String PublicIpv4Pool { get; set; } public List TagSpecification { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGateway-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGateway-Cmdlet.cs index b39f6bf300..32fc0e4b05 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGateway-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGateway-Cmdlet.cs @@ -147,12 +147,9 @@ public partial class NewEC2TransitGatewayCmdlet : AmazonEC2ClientCmdlet, IExecut #region Parameter Options_SecurityGroupReferencingSupport /// /// - /// This parameter is in preview and may not be available for your account.Enables you to reference a security group across VPCs attached to a transit gateway. - /// Use this option to simplify security group management and control of instance-to-instance - /// traffic across VPCs that are connected by transit gateway. You can also use this option - /// to migrate from VPC peering (which was the only option that supported security group - /// referencing) to transit gateways (which now also support security group referencing). - /// This option is disabled by default and there are no additional costs to use this feature. + /// Enables you to reference a security group across VPCs attached to a transit gateway + /// to simplify security group management. This option is disabled by default.For more information about security group referencing, see Security + /// group referencing in the Amazon Web Services Transit Gateways Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGatewayVpcAttachment-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGatewayVpcAttachment-Cmdlet.cs index 1b90bb49c6..6d312a5640 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGatewayVpcAttachment-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2TransitGatewayVpcAttachment-Cmdlet.cs @@ -90,14 +90,11 @@ public partial class NewEC2TransitGatewayVpcAttachmentCmdlet : AmazonEC2ClientCm #region Parameter Options_SecurityGroupReferencingSupport /// /// - /// This parameter is in preview and may not be available for your account.Enables you to reference a security group across VPCs attached to a transit gateway. - /// Use this option to simplify security group management and control of instance-to-instance - /// traffic across VPCs that are connected by transit gateway. You can also use this option - /// to migrate from VPC peering (which was the only option that supported security group - /// referencing) to transit gateways (which now also support security group referencing). - /// This option is disabled by default and there are no additional costs to use this feature.If you don't enable or disable SecurityGroupReferencingSupport in the request, the + /// Enables you to reference a security group across VPCs attached to a transit gateway + /// to simplify security group management. This option is disabled by default.If you don't enable or disable SecurityGroupReferencingSupport in the request, the /// attachment will inherit the security group referencing support setting on the transit - /// gateway. + /// gateway.For more information about security group referencing, see Security + /// group referencing in the Amazon Web Services Transit Gateways Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Register-EC2Image-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Register-EC2Image-Cmdlet.cs index 1ffdd9718c..36af533fa6 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Register-EC2Image-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Register-EC2Image-Cmdlet.cs @@ -30,8 +30,9 @@ namespace Amazon.PowerShell.Cmdlets.EC2 /// /// Registers an AMI. When you're creating an instance-store backed AMI, registering the /// AMI is the final step in the creation process. For more information about creating - /// AMIs, see Create - /// your own AMI in the Amazon Elastic Compute Cloud User Guide. + /// AMIs, see Create + /// an AMI from a snapshot and Create + /// an instance-store backed AMI in the Amazon EC2 User Guide. /// /// /// For Amazon EBS-backed instances, CreateImage creates and registers the AMI @@ -49,25 +50,24 @@ namespace Amazon.PowerShell.Cmdlets.EC2 /// instance launched from the AMI is encrypted. /// /// For more information, see Create - /// a Linux AMI from a snapshot and Use - /// encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud - /// User Guide. + /// an AMI from a snapshot and Use + /// encryption with Amazon EBS-backed AMIs in the Amazon EC2 User Guide. /// Amazon Web Services Marketplace product codes /// If any snapshots have Amazon Web Services Marketplace product codes, they are copied /// to the new AMI. /// - /// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and - /// SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated - /// with an AMI to verify the subscription status for package updates. To create a new - /// AMI for operating systems that require a billing product code, instead of registering - /// the AMI, do the following to preserve the billing product code association: - ///
    1. - /// Launch an instance from an existing AMI with that billing product code. - ///
    2. - /// Customize the instance. - ///
    3. - /// Create an AMI from the instance using CreateImage. - ///
    + /// In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing + /// information to be present on the AMI. For more information, see Understand + /// AMI billing information in the Amazon EC2 User Guide. When creating an + /// AMI from a snapshot, the RegisterImage operation derives the correct billing + /// information from the snapshot's metadata, but this requires the appropriate metadata + /// to be present. To verify if the correct billing information was applied, check the + /// PlatformDetails field on the new AMI. If the field is empty or doesn't match + /// the expected operating system code (for example, Windows, RedHat, SUSE, or SQL), the + /// AMI creation was unsuccessful, and you should discard the AMI and instead create the + /// AMI from an instance using CreateImage. For more information, see Create + /// an AMI from an instance in the Amazon EC2 User Guide. + /// /// If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched /// from an AMI with a billing product code, make sure that the Reserved Instance has /// the matching billing product code. If you purchase a Reserved Instance without the diff --git a/modules/AWSPowerShell/Cmdlets/EC2InstanceConnect/AmazonEC2InstanceConnectClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2InstanceConnect/AmazonEC2InstanceConnectClientCmdlet.cs index fbbbf924b7..098adb90cd 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2InstanceConnect/AmazonEC2InstanceConnectClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2InstanceConnect/AmazonEC2InstanceConnectClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEC2InstanceConnect CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEC2InstanceConnectConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ECR/AWS.Tools.ECR.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/ECR/AWS.Tools.ECR.Completers.psm1 index 5defa7582f..14fc52964d 100644 --- a/modules/AWSPowerShell/Cmdlets/ECR/AWS.Tools.ECR.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/ECR/AWS.Tools.ECR.Completers.psm1 @@ -87,7 +87,7 @@ $ECR_Completers = { ($_ -eq "Update-ECRRepositoryCreationTemplate/EncryptionConfiguration_EncryptionType") } { - $v = "AES256","KMS" + $v = "AES256","KMS","KMS_DSSE" break } diff --git a/modules/AWSPowerShell/Cmdlets/ECR/AmazonECRClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ECR/AmazonECRClientCmdlet.cs index e26112bdca..2e7b00078b 100644 --- a/modules/AWSPowerShell/Cmdlets/ECR/AmazonECRClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ECR/AmazonECRClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonECR CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonECRConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ECR/Basic/New-ECRRepository-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ECR/Basic/New-ECRRepository-Cmdlet.cs index 5cd87a7480..6155bd2fbe 100644 --- a/modules/AWSPowerShell/Cmdlets/ECR/Basic/New-ECRRepository-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ECR/Basic/New-ECRRepository-Cmdlet.cs @@ -49,14 +49,14 @@ public partial class NewECRRepositoryCmdlet : AmazonECRClientCmdlet, IExecutor /// The encryption type to use.If you use the KMS encryption type, the contents of the repository will be /// encrypted using server-side encryption with Key Management Service key stored in KMS. /// When you use KMS to encrypt your data, you can either use the default Amazon Web Services - /// managed KMS key for Amazon ECR, or specify your own KMS key, which you already created. - /// For more information, see Protecting - /// data using server-side encryption with an KMS key stored in Key Management Service - /// (SSE-KMS) in the Amazon Simple Storage Service Console Developer Guide.If you use the AES256 encryption type, Amazon ECR uses server-side encryption + /// managed KMS key for Amazon ECR, or specify your own KMS key, which you already created.If you use the KMS_DSSE encryption type, the contents of the repository will + /// be encrypted with two layers of encryption using server-side encryption with the KMS + /// Management Service key stored in KMS. Similar to the KMS encryption type, you + /// can either use the default Amazon Web Services managed KMS key for Amazon ECR, or + /// specify your own KMS key, which you've already created. If you use the AES256 encryption type, Amazon ECR uses server-side encryption /// with Amazon S3-managed encryption keys which encrypts the images in the repository - /// using an AES256 encryption algorithm. For more information, see Protecting - /// data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) - /// in the Amazon Simple Storage Service Console Developer Guide. + /// using an AES256 encryption algorithm.For more information, see Amazon + /// ECR encryption at rest in the Amazon Elastic Container Registry User Guide. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/ECRPublic/AmazonECRPublicClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ECRPublic/AmazonECRPublicClientCmdlet.cs index 976879f343..114aeb3523 100644 --- a/modules/AWSPowerShell/Cmdlets/ECRPublic/AmazonECRPublicClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ECRPublic/AmazonECRPublicClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonECRPublic CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonECRPublicConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ECS/AmazonECSClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ECS/AmazonECSClientCmdlet.cs index 3b4dd55e54..7007811211 100644 --- a/modules/AWSPowerShell/Cmdlets/ECS/AmazonECSClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ECS/AmazonECSClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonECS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonECSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ECS/Basic/New-ECSService-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ECS/Basic/New-ECSService-Cmdlet.cs index 1a3ea50633..eb67a89ed8 100644 --- a/modules/AWSPowerShell/Cmdlets/ECS/Basic/New-ECSService-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ECS/Basic/New-ECSService-Cmdlet.cs @@ -371,12 +371,14 @@ public partial class NewECSServiceCmdlet : AmazonECSClientCmdlet, IExecutor /// stopping the four older tasks (provided that the cluster resources required to do /// this are available). The default maximumPercent value for a service using the /// REPLICA service scheduler is 200%.
    If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL - /// deployment types and tasks that use the EC2 launch type, the maximum percent - /// value is set to the default value and is used to define the upper limit on the number - /// of the tasks in the service that remain in the RUNNING state while the container - /// instances are in the DRAINING state. If the tasks in the service use the Fargate - /// launch type, the maximum percent value is not used, although it is returned when describing - /// your service. + /// deployment types, and tasks in the service use the EC2 launch type, the maximum + /// percent value is set to the default value. The maximum percent value is + /// used to define the upper limit on the number of the tasks in the service that remain + /// in the RUNNING state while the container instances are in the DRAINING + /// state.You can't specify a custom maximumPercent value for a service that uses either + /// the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and has tasks + /// that use the EC2 launch type.If the tasks in the service use the Fargate launch type, the maximum percent value + /// is not used, although it is returned when describing your service. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -413,12 +415,14 @@ public partial class NewECSServiceCmdlet : AmazonECSClientCmdlet, IExecutor /// multiplied by the minimumHealthyPercent/100, rounded up to the nearest integer /// value.If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL /// deployment types and is running tasks that use the EC2 launch type, the minimum - /// healthy percent value is set to the default value and is used to define the lower - /// limit on the number of the tasks in the service that remain in the RUNNING - /// state while the container instances are in the DRAINING state. If a service - /// is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment - /// types and is running tasks that use the Fargate launch type, the minimum healthy percent - /// value is not used, although it is returned when describing your service. + /// healthy percent value is set to the default value. The minimum healthy percent + /// value is used to define the lower limit on the number of the tasks in the service + /// that remain in the RUNNING state while the container instances are in the DRAINING + /// state.You can't specify a custom minimumHealthyPercent value for a service that uses + /// either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and + /// has tasks that use the EC2 launch type.If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL + /// deployment types and is running tasks that use the Fargate launch type, the minimum + /// healthy percent value is not used, although it is returned when describing your service. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/ECS/Basic/Update-ECSService-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ECS/Basic/Update-ECSService-Cmdlet.cs index 1827b48dae..da6e3a278e 100644 --- a/modules/AWSPowerShell/Cmdlets/ECS/Basic/Update-ECSService-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ECS/Basic/Update-ECSService-Cmdlet.cs @@ -381,12 +381,14 @@ public partial class UpdateECSServiceCmdlet : AmazonECSClientCmdlet, IExecutor /// stopping the four older tasks (provided that the cluster resources required to do /// this are available). The default maximumPercent value for a service using the /// REPLICA service scheduler is 200%.If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL - /// deployment types and tasks that use the EC2 launch type, the maximum percent - /// value is set to the default value and is used to define the upper limit on the number - /// of the tasks in the service that remain in the RUNNING state while the container - /// instances are in the DRAINING state. If the tasks in the service use the Fargate - /// launch type, the maximum percent value is not used, although it is returned when describing - /// your service. + /// deployment types, and tasks in the service use the EC2 launch type, the maximum + /// percent value is set to the default value. The maximum percent value is + /// used to define the upper limit on the number of the tasks in the service that remain + /// in the RUNNING state while the container instances are in the DRAINING + /// state.You can't specify a custom maximumPercent value for a service that uses either + /// the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and has tasks + /// that use the EC2 launch type.If the tasks in the service use the Fargate launch type, the maximum percent value + /// is not used, although it is returned when describing your service. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -423,12 +425,14 @@ public partial class UpdateECSServiceCmdlet : AmazonECSClientCmdlet, IExecutor /// multiplied by the minimumHealthyPercent/100, rounded up to the nearest integer /// value.If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL /// deployment types and is running tasks that use the EC2 launch type, the minimum - /// healthy percent value is set to the default value and is used to define the lower - /// limit on the number of the tasks in the service that remain in the RUNNING - /// state while the container instances are in the DRAINING state. If a service - /// is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment - /// types and is running tasks that use the Fargate launch type, the minimum healthy percent - /// value is not used, although it is returned when describing your service. + /// healthy percent value is set to the default value. The minimum healthy percent + /// value is used to define the lower limit on the number of the tasks in the service + /// that remain in the RUNNING state while the container instances are in the DRAINING + /// state.You can't specify a custom minimumHealthyPercent value for a service that uses + /// either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and + /// has tasks that use the EC2 launch type.If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL + /// deployment types and is running tasks that use the Fargate launch type, the minimum + /// healthy percent value is not used, although it is returned when describing your service. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/ECS/Basic/Write-ECSAccountSetting-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ECS/Basic/Write-ECSAccountSetting-Cmdlet.cs index 313fa8cd64..b7bb82af99 100644 --- a/modules/AWSPowerShell/Cmdlets/ECS/Basic/Write-ECSAccountSetting-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ECS/Basic/Write-ECSAccountSetting-Cmdlet.cs @@ -83,8 +83,7 @@ public partial class WriteECSAccountSettingCmdlet : AmazonECSClientCmdlet, IExec /// more information on using IPv6 with tasks launched on Amazon EC2 instances, see Using /// a VPC in dual-stack mode. For more information on using IPv6 with tasks launched /// on Fargate, see Using - /// a VPC in dual-stack mode.
  • fargateFIPSMode - If you specify fargateFIPSMode, Fargate FIPS 140 - /// compliance is affected.
  • fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that + /// a VPC in dual-stack mode.
  • fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that /// a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, /// the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod /// to configure the wait time to retire a Fargate task. For information about the Fargate diff --git a/modules/AWSPowerShell/Cmdlets/EKS/AmazonEKSClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EKS/AmazonEKSClientCmdlet.cs index 0f3611502f..cbe5e2c4bf 100644 --- a/modules/AWSPowerShell/Cmdlets/EKS/AmazonEKSClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EKS/AmazonEKSClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEKS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEKSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EKSAuth/AmazonEKSAuthClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EKSAuth/AmazonEKSAuthClientCmdlet.cs index 7de0a86212..a40501260c 100644 --- a/modules/AWSPowerShell/Cmdlets/EKSAuth/AmazonEKSAuthClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EKSAuth/AmazonEKSAuthClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEKSAuth CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEKSAuthConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EMRContainers/AmazonEMRContainersClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EMRContainers/AmazonEMRContainersClientCmdlet.cs index 5d10709a87..9fa3bfb3b6 100644 --- a/modules/AWSPowerShell/Cmdlets/EMRContainers/AmazonEMRContainersClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EMRContainers/AmazonEMRContainersClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEMRContainers CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEMRContainersConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EMRServerless/AmazonEMRServerlessClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EMRServerless/AmazonEMRServerlessClientCmdlet.cs index 38cb0c8b07..78aea2df9c 100644 --- a/modules/AWSPowerShell/Cmdlets/EMRServerless/AmazonEMRServerlessClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EMRServerless/AmazonEMRServerlessClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEMRServerless CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEMRServerlessConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/New-EMRServerlessApplication-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/New-EMRServerlessApplication-Cmdlet.cs index b9f9105f00..855083ff02 100644 --- a/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/New-EMRServerlessApplication-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/New-EMRServerlessApplication-Cmdlet.cs @@ -247,6 +247,18 @@ public partial class NewEMRServerlessApplicationCmdlet : AmazonEMRServerlessClie public System.String S3MonitoringConfiguration_LogUri { get; set; } #endregion + #region Parameter SchedulerConfiguration_MaxConcurrentRun + /// + /// + /// The maximum concurrent job runs on this application. If scheduler configuration is + /// enabled on your application, the default value is 15. The valid range is 1 to 1000. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SchedulerConfiguration_MaxConcurrentRuns")] + public System.Int32? SchedulerConfiguration_MaxConcurrentRun { get; set; } + #endregion + #region Parameter MaximumCapacity_Memory /// /// @@ -267,6 +279,19 @@ public partial class NewEMRServerlessApplicationCmdlet : AmazonEMRServerlessClie public System.String Name { get; set; } #endregion + #region Parameter SchedulerConfiguration_QueueTimeoutMinute + /// + /// + /// The maximum duration in minutes for the job in QUEUED state. If scheduler configuration + /// is enabled on your application, the default value is 360 minutes (6 hours). The valid + /// range is from 15 to 720. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SchedulerConfiguration_QueueTimeoutMinutes")] + public System.Int32? SchedulerConfiguration_QueueTimeoutMinute { get; set; } + #endregion + #region Parameter ReleaseLabel /// /// @@ -527,6 +552,8 @@ protected override void ProcessRecord() { context.RuntimeConfiguration = new List(this.RuntimeConfiguration); } + context.SchedulerConfiguration_MaxConcurrentRun = this.SchedulerConfiguration_MaxConcurrentRun; + context.SchedulerConfiguration_QueueTimeoutMinute = this.SchedulerConfiguration_QueueTimeoutMinute; if (this.Tag != null) { context.Tag = new Dictionary(StringComparer.Ordinal); @@ -923,6 +950,35 @@ public object Execute(ExecutorContext context) { request.RuntimeConfiguration = cmdletContext.RuntimeConfiguration; } + + // populate SchedulerConfiguration + var requestSchedulerConfigurationIsNull = true; + request.SchedulerConfiguration = new Amazon.EMRServerless.Model.SchedulerConfiguration(); + System.Int32? requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun = null; + if (cmdletContext.SchedulerConfiguration_MaxConcurrentRun != null) + { + requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun = cmdletContext.SchedulerConfiguration_MaxConcurrentRun.Value; + } + if (requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun != null) + { + request.SchedulerConfiguration.MaxConcurrentRuns = requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun.Value; + requestSchedulerConfigurationIsNull = false; + } + System.Int32? requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute = null; + if (cmdletContext.SchedulerConfiguration_QueueTimeoutMinute != null) + { + requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute = cmdletContext.SchedulerConfiguration_QueueTimeoutMinute.Value; + } + if (requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute != null) + { + request.SchedulerConfiguration.QueueTimeoutMinutes = requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute.Value; + requestSchedulerConfigurationIsNull = false; + } + // determine if request.SchedulerConfiguration should be set to null + if (requestSchedulerConfigurationIsNull) + { + request.SchedulerConfiguration = null; + } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; @@ -1023,6 +1079,8 @@ internal partial class CmdletContext : ExecutorContext public List NetworkConfiguration_SubnetId { get; set; } public System.String ReleaseLabel { get; set; } public List RuntimeConfiguration { get; set; } + public System.Int32? SchedulerConfiguration_MaxConcurrentRun { get; set; } + public System.Int32? SchedulerConfiguration_QueueTimeoutMinute { get; set; } public Dictionary Tag { get; set; } public System.String Type { get; set; } public Dictionary WorkerTypeSpecification { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/Update-EMRServerlessApplication-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/Update-EMRServerlessApplication-Cmdlet.cs index e4169159b8..08d66db38a 100644 --- a/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/Update-EMRServerlessApplication-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EMRServerless/Basic/Update-EMRServerlessApplication-Cmdlet.cs @@ -268,6 +268,18 @@ public partial class UpdateEMRServerlessApplicationCmdlet : AmazonEMRServerlessC public System.String S3MonitoringConfiguration_LogUri { get; set; } #endregion + #region Parameter SchedulerConfiguration_MaxConcurrentRun + /// + /// + /// The maximum concurrent job runs on this application. If scheduler configuration is + /// enabled on your application, the default value is 15. The valid range is 1 to 1000. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SchedulerConfiguration_MaxConcurrentRuns")] + public System.Int32? SchedulerConfiguration_MaxConcurrentRun { get; set; } + #endregion + #region Parameter MaximumCapacity_Memory /// /// @@ -278,6 +290,19 @@ public partial class UpdateEMRServerlessApplicationCmdlet : AmazonEMRServerlessC public System.String MaximumCapacity_Memory { get; set; } #endregion + #region Parameter SchedulerConfiguration_QueueTimeoutMinute + /// + /// + /// The maximum duration in minutes for the job in QUEUED state. If scheduler configuration + /// is enabled on your application, the default value is 360 minutes (6 hours). The valid + /// range is from 15 to 720. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SchedulerConfiguration_QueueTimeoutMinutes")] + public System.Int32? SchedulerConfiguration_QueueTimeoutMinute { get; set; } + #endregion + #region Parameter ReleaseLabel /// /// @@ -504,6 +529,8 @@ protected override void ProcessRecord() { context.RuntimeConfiguration = new List(this.RuntimeConfiguration); } + context.SchedulerConfiguration_MaxConcurrentRun = this.SchedulerConfiguration_MaxConcurrentRun; + context.SchedulerConfiguration_QueueTimeoutMinute = this.SchedulerConfiguration_QueueTimeoutMinute; if (this.WorkerTypeSpecification != null) { context.WorkerTypeSpecification = new Dictionary(StringComparer.Ordinal); @@ -885,6 +912,35 @@ public object Execute(ExecutorContext context) { request.RuntimeConfiguration = cmdletContext.RuntimeConfiguration; } + + // populate SchedulerConfiguration + var requestSchedulerConfigurationIsNull = true; + request.SchedulerConfiguration = new Amazon.EMRServerless.Model.SchedulerConfiguration(); + System.Int32? requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun = null; + if (cmdletContext.SchedulerConfiguration_MaxConcurrentRun != null) + { + requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun = cmdletContext.SchedulerConfiguration_MaxConcurrentRun.Value; + } + if (requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun != null) + { + request.SchedulerConfiguration.MaxConcurrentRuns = requestSchedulerConfiguration_schedulerConfiguration_MaxConcurrentRun.Value; + requestSchedulerConfigurationIsNull = false; + } + System.Int32? requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute = null; + if (cmdletContext.SchedulerConfiguration_QueueTimeoutMinute != null) + { + requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute = cmdletContext.SchedulerConfiguration_QueueTimeoutMinute.Value; + } + if (requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute != null) + { + request.SchedulerConfiguration.QueueTimeoutMinutes = requestSchedulerConfiguration_schedulerConfiguration_QueueTimeoutMinute.Value; + requestSchedulerConfigurationIsNull = false; + } + // determine if request.SchedulerConfiguration should be set to null + if (requestSchedulerConfigurationIsNull) + { + request.SchedulerConfiguration = null; + } if (cmdletContext.WorkerTypeSpecification != null) { request.WorkerTypeSpecifications = cmdletContext.WorkerTypeSpecification; @@ -977,6 +1033,8 @@ internal partial class CmdletContext : ExecutorContext public List NetworkConfiguration_SubnetId { get; set; } public System.String ReleaseLabel { get; set; } public List RuntimeConfiguration { get; set; } + public System.Int32? SchedulerConfiguration_MaxConcurrentRun { get; set; } + public System.Int32? SchedulerConfiguration_QueueTimeoutMinute { get; set; } public Dictionary WorkerTypeSpecification { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.Application; diff --git a/modules/AWSPowerShell/Cmdlets/ElastiCache/AmazonElastiCacheClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElastiCache/AmazonElastiCacheClientCmdlet.cs index b172c2e162..95af5b50e1 100644 --- a/modules/AWSPowerShell/Cmdlets/ElastiCache/AmazonElastiCacheClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElastiCache/AmazonElastiCacheClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElastiCache CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElastiCacheConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ElasticBeanstalk/AmazonElasticBeanstalkClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticBeanstalk/AmazonElasticBeanstalkClientCmdlet.cs index ad53f5936d..e9f743af53 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticBeanstalk/AmazonElasticBeanstalkClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticBeanstalk/AmazonElasticBeanstalkClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticBeanstalk CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticBeanstalkConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ElasticFileSystem/AmazonElasticFileSystemClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticFileSystem/AmazonElasticFileSystemClientCmdlet.cs index c44fc8eaf6..7b26a48c2f 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticFileSystem/AmazonElasticFileSystemClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticFileSystem/AmazonElasticFileSystemClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticFileSystem CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticFileSystemConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ElasticInference/AmazonElasticInferenceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticInference/AmazonElasticInferenceClientCmdlet.cs index e17a7f3267..669a0775a4 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticInference/AmazonElasticInferenceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticInference/AmazonElasticInferenceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticInference CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticInferenceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancing/AmazonElasticLoadBalancingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancing/AmazonElasticLoadBalancingClientCmdlet.cs index 3a710d4e06..8454857e88 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancing/AmazonElasticLoadBalancingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancing/AmazonElasticLoadBalancingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticLoadBalancing CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticLoadBalancingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.Completers.psm1 index c7752c3f50..f576c353ec 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.Completers.psm1 @@ -238,6 +238,7 @@ $ELB2_SelectMap = @{ "Remove-ELB2TrustStore", "Unregister-ELB2Target", "Get-ELB2AccountLimit", + "Get-ELB2ListenerAttribute", "Get-ELB2ListenerCertificate", "Get-ELB2Listener", "Get-ELB2LoadBalancerAttribute", @@ -255,6 +256,7 @@ $ELB2_SelectMap = @{ "Get-ELB2TrustStoreCaCertificatesBundle", "Get-ELB2TrustStoreRevocationContent", "Edit-ELB2Listener", + "Edit-ELB2ListenerAttribute", "Edit-ELB2LoadBalancerAttribute", "Edit-ELB2Rule", "Edit-ELB2TargetGroup", diff --git a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.psd1 b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.psd1 index fda0229e51..53edd5ad11 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.psd1 +++ b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AWS.Tools.ElasticLoadBalancingV2.psd1 @@ -90,6 +90,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Add-ELB2Tag', 'Add-ELB2TrustStoreRevocation', 'Edit-ELB2Listener', + 'Edit-ELB2ListenerAttribute', 'Edit-ELB2LoadBalancerAttribute', 'Edit-ELB2Rule', 'Edit-ELB2TargetGroup', @@ -97,6 +98,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Edit-ELB2TrustStore', 'Get-ELB2AccountLimit', 'Get-ELB2Listener', + 'Get-ELB2ListenerAttribute', 'Get-ELB2ListenerCertificate', 'Get-ELB2LoadBalancer', 'Get-ELB2LoadBalancerAttribute', diff --git a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AmazonElasticLoadBalancingV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AmazonElasticLoadBalancingV2ClientCmdlet.cs index 4fc335cf98..9d34620ab6 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AmazonElasticLoadBalancingV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/AmazonElasticLoadBalancingV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticLoadBalancingV2 CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticLoadBalancingV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Edit-ELB2ListenerAttribute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Edit-ELB2ListenerAttribute-Cmdlet.cs new file mode 100644 index 0000000000..f1eccb2c1e --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Edit-ELB2ListenerAttribute-Cmdlet.cs @@ -0,0 +1,251 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.ElasticLoadBalancingV2; +using Amazon.ElasticLoadBalancingV2.Model; + +namespace Amazon.PowerShell.Cmdlets.ELB2 +{ + /// + /// Modifies the specified attributes of the specified listener. + /// + [Cmdlet("Edit", "ELB2ListenerAttribute", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.ElasticLoadBalancingV2.Model.ListenerAttribute")] + [AWSCmdlet("Calls the Elastic Load Balancing V2 ModifyListenerAttributes API operation.", Operation = new[] {"ModifyListenerAttributes"}, SelectReturnType = typeof(Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesResponse))] + [AWSCmdletOutput("Amazon.ElasticLoadBalancingV2.Model.ListenerAttribute or Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesResponse", + "This cmdlet returns a collection of Amazon.ElasticLoadBalancingV2.Model.ListenerAttribute objects.", + "The service call response (type Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class EditELB2ListenerAttributeCmdlet : AmazonElasticLoadBalancingV2ClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Attribute + /// + /// + /// The listener attributes. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("Attributes")] + public Amazon.ElasticLoadBalancingV2.Model.ListenerAttribute[] Attribute { get; set; } + #endregion + + #region Parameter ListenerArn + /// + /// + /// The Amazon Resource Name (ARN) of the listener. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ListenerArn { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Attributes'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesResponse). + /// Specifying the name of a property of type Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Attributes"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ListenerArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^ListenerArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ListenerArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ListenerArn), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Edit-ELB2ListenerAttribute (ModifyListenerAttributes)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ListenerArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Attribute != null) + { + context.Attribute = new List(this.Attribute); + } + #if MODULAR + if (this.Attribute == null && ParameterWasBound(nameof(this.Attribute))) + { + WriteWarning("You are passing $null as a value for parameter Attribute which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ListenerArn = this.ListenerArn; + #if MODULAR + if (this.ListenerArn == null && ParameterWasBound(nameof(this.ListenerArn))) + { + WriteWarning("You are passing $null as a value for parameter ListenerArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesRequest(); + + if (cmdletContext.Attribute != null) + { + request.Attributes = cmdletContext.Attribute; + } + if (cmdletContext.ListenerArn != null) + { + request.ListenerArn = cmdletContext.ListenerArn; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesResponse CallAWSServiceOperation(IAmazonElasticLoadBalancingV2 client, Amazon.ElasticLoadBalancingV2.Model.ModifyListenerAttributesRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Elastic Load Balancing V2", "ModifyListenerAttributes"); + try + { + #if DESKTOP + return client.ModifyListenerAttributes(request); + #elif CORECLR + return client.ModifyListenerAttributesAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Attribute { get; set; } + public System.String ListenerArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Attributes; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Edit-ELB2TargetGroupAttribute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Edit-ELB2TargetGroupAttribute-Cmdlet.cs index 7d99fb3d5a..fd7130b3e2 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Edit-ELB2TargetGroupAttribute-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Edit-ELB2TargetGroupAttribute-Cmdlet.cs @@ -45,7 +45,7 @@ public partial class EditELB2TargetGroupAttributeCmdlet : AmazonElasticLoadBalan #region Parameter Attribute /// /// - /// The attributes. + /// The target group attributes. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Get-ELB2ListenerAttribute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Get-ELB2ListenerAttribute-Cmdlet.cs new file mode 100644 index 0000000000..3827d31125 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/ElasticLoadBalancingV2/Basic/Get-ELB2ListenerAttribute-Cmdlet.cs @@ -0,0 +1,202 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.ElasticLoadBalancingV2; +using Amazon.ElasticLoadBalancingV2.Model; + +namespace Amazon.PowerShell.Cmdlets.ELB2 +{ + /// + /// Describes the attributes for the specified listener. + /// + [Cmdlet("Get", "ELB2ListenerAttribute")] + [OutputType("Amazon.ElasticLoadBalancingV2.Model.ListenerAttribute")] + [AWSCmdlet("Calls the Elastic Load Balancing V2 DescribeListenerAttributes API operation.", Operation = new[] {"DescribeListenerAttributes"}, SelectReturnType = typeof(Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesResponse))] + [AWSCmdletOutput("Amazon.ElasticLoadBalancingV2.Model.ListenerAttribute or Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesResponse", + "This cmdlet returns a collection of Amazon.ElasticLoadBalancingV2.Model.ListenerAttribute objects.", + "The service call response (type Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetELB2ListenerAttributeCmdlet : AmazonElasticLoadBalancingV2ClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ListenerArn + /// + /// + /// The Amazon Resource Name (ARN) of the listener. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ListenerArn { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Attributes'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesResponse). + /// Specifying the name of a property of type Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Attributes"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ListenerArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^ListenerArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ListenerArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ListenerArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ListenerArn = this.ListenerArn; + #if MODULAR + if (this.ListenerArn == null && ParameterWasBound(nameof(this.ListenerArn))) + { + WriteWarning("You are passing $null as a value for parameter ListenerArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesRequest(); + + if (cmdletContext.ListenerArn != null) + { + request.ListenerArn = cmdletContext.ListenerArn; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesResponse CallAWSServiceOperation(IAmazonElasticLoadBalancingV2 client, Amazon.ElasticLoadBalancingV2.Model.DescribeListenerAttributesRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Elastic Load Balancing V2", "DescribeListenerAttributes"); + try + { + #if DESKTOP + return client.DescribeListenerAttributes(request); + #elif CORECLR + return client.DescribeListenerAttributesAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ListenerArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Attributes; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AWS.Tools.ElasticMapReduce.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AWS.Tools.ElasticMapReduce.Completers.psm1 index 7e30832eeb..9c23626643 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AWS.Tools.ElasticMapReduce.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AWS.Tools.ElasticMapReduce.Completers.psm1 @@ -142,21 +142,33 @@ $EMR_Completers = { } # Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference - "Add-EMRInstanceFleet/CapacityReservationOptions_CapacityReservationPreference" + { + ($_ -eq "Add-EMRInstanceFleet/CapacityReservationOptions_CapacityReservationPreference") -Or + ($_ -eq "Edit-EMRInstanceFleet/CapacityReservationOptions_CapacityReservationPreference") -Or + ($_ -eq "Add-EMRInstanceFleet/InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference") + } { $v = "none","open" break } # Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy - "Add-EMRInstanceFleet/CapacityReservationOptions_UsageStrategy" + { + ($_ -eq "Add-EMRInstanceFleet/CapacityReservationOptions_UsageStrategy") -Or + ($_ -eq "Edit-EMRInstanceFleet/CapacityReservationOptions_UsageStrategy") -Or + ($_ -eq "Add-EMRInstanceFleet/InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy") + } { $v = "use-capacity-reservations-first" break } # Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy - "Add-EMRInstanceFleet/OnDemandSpecification_AllocationStrategy" + { + ($_ -eq "Add-EMRInstanceFleet/OnDemandResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Edit-EMRInstanceFleet/OnDemandResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Add-EMRInstanceFleet/OnDemandSpecification_AllocationStrategy") + } { $v = "lowest-price","prioritized" break @@ -184,7 +196,11 @@ $EMR_Completers = { } # Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy - "Add-EMRInstanceFleet/SpotSpecification_AllocationStrategy" + { + ($_ -eq "Add-EMRInstanceFleet/SpotResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Edit-EMRInstanceFleet/SpotResizeSpecification_AllocationStrategy") -Or + ($_ -eq "Add-EMRInstanceFleet/SpotSpecification_AllocationStrategy") + } { $v = "capacity-optimized","capacity-optimized-prioritized","diversified","lowest-price","price-capacity-optimized" break @@ -214,18 +230,22 @@ $EMR_Completers = { $EMR_map = @{ "AuthMode"=@("New-EMRStudio") - "CapacityReservationOptions_CapacityReservationPreference"=@("Add-EMRInstanceFleet") - "CapacityReservationOptions_UsageStrategy"=@("Add-EMRInstanceFleet") + "CapacityReservationOptions_CapacityReservationPreference"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") + "CapacityReservationOptions_UsageStrategy"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") "ComputeLimits_UnitType"=@("Start-EMRJobFlow","Write-EMRManagedScalingPolicy") "ExecutionEngine_Type"=@("Start-EMRNotebookExecution") "IdcUserAssignment"=@("New-EMRStudio") "IdentityType"=@("Get-EMRStudioSessionMapping","Get-EMRStudioSessionMappingList","New-EMRStudioSessionMapping","Remove-EMRStudioSessionMapping","Update-EMRStudioSessionMapping") "InstanceFleet_InstanceFleetType"=@("Add-EMRInstanceFleet") + "InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference"=@("Add-EMRInstanceFleet") + "InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy"=@("Add-EMRInstanceFleet") "InstanceFleetType"=@("Get-EMRInstanceList") + "OnDemandResizeSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") "OnDemandSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet") "OutputNotebookFormat"=@("Start-EMRNotebookExecution") "RepoUpgradeOnBoot"=@("Start-EMRJobFlow") "ScaleDownBehavior"=@("Start-EMRJobFlow") + "SpotResizeSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet","Edit-EMRInstanceFleet") "SpotSpecification_AllocationStrategy"=@("Add-EMRInstanceFleet") "SpotSpecification_TimeoutAction"=@("Add-EMRInstanceFleet") "Status"=@("Get-EMRNotebookExecutionList") diff --git a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AmazonElasticMapReduceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AmazonElasticMapReduceClientCmdlet.cs index abf271ac9b..000a489881 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AmazonElasticMapReduceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/AmazonElasticMapReduceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticMapReduce CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticMapReduceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Add-EMRInstanceFleet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Add-EMRInstanceFleet-Cmdlet.cs index b1264691c4..5ed6632fab 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Add-EMRInstanceFleet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Add-EMRInstanceFleet-Cmdlet.cs @@ -78,6 +78,33 @@ public partial class AddEMRInstanceFleetCmdlet : AmazonElasticMapReduceClientCmd public Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy SpotSpecification_AllocationStrategy { get; set; } #endregion + #region Parameter OnDemandResizeSpecification_AllocationStrategy + /// + /// + /// Specifies the allocation strategy to use to launch On-Demand instances during a resize. + /// The default is lowest-price. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_AllocationStrategy")] + [AWSConstantClassSource("Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy")] + public Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy OnDemandResizeSpecification_AllocationStrategy { get; set; } + #endregion + + #region Parameter SpotResizeSpecification_AllocationStrategy + /// + /// + /// Specifies the allocation strategy to use to launch Spot instances during a resize. + /// If you run Amazon EMR releases 6.9.0 or higher, the default is price-capacity-optimized. + /// If you run Amazon EMR releases 6.8.0 or lower, the default is capacity-optimized. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_ResizeSpecifications_SpotResizeSpecification_AllocationStrategy")] + [AWSConstantClassSource("Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy")] + public Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy SpotResizeSpecification_AllocationStrategy { get; set; } + #endregion + #region Parameter SpotSpecification_BlockDurationMinute /// /// @@ -112,6 +139,19 @@ public partial class AddEMRInstanceFleetCmdlet : AmazonElasticMapReduceClientCmd public Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference CapacityReservationOptions_CapacityReservationPreference { get; set; } #endregion + #region Parameter InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference + /// + /// + /// Indicates the instance's Capacity Reservation preferences. Possible preferences include:
    • open - The instance can run in any open Capacity Reservation that has matching + /// attributes (instance type, platform, Availability Zone).
    • none - The instance avoids running in a Capacity Reservation even if one is + /// available. The instance runs as an On-Demand Instance.
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference")] + public Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference { get; set; } + #endregion + #region Parameter CapacityReservationOptions_CapacityReservationResourceGroupArn /// /// @@ -123,6 +163,16 @@ public partial class AddEMRInstanceFleetCmdlet : AmazonElasticMapReduceClientCmd public System.String CapacityReservationOptions_CapacityReservationResourceGroupArn { get; set; } #endregion + #region Parameter InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn + /// + /// + /// The ARN of the Capacity Reservation resource group in which to run the instance. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn { get; set; } + #endregion + #region Parameter ClusterId /// /// @@ -305,6 +355,23 @@ public partial class AddEMRInstanceFleetCmdlet : AmazonElasticMapReduceClientCmd public Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy CapacityReservationOptions_UsageStrategy { get; set; } #endregion + #region Parameter InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy + /// + /// + /// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.If you specify use-capacity-reservations-first, the fleet uses unused Capacity + /// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If + /// multiple instance pools have unused Capacity Reservations, the On-Demand allocation + /// strategy (lowest-price) is applied. If the number of unused Capacity Reservations + /// is less than the On-Demand target capacity, the remaining On-Demand target capacity + /// is launched according to the On-Demand allocation strategy (lowest-price).If you do not specify a value, the fleet fulfills the On-Demand capacity according + /// to the chosen On-Demand allocation strategy. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy")] + public Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. @@ -394,7 +461,12 @@ protected override void ProcessRecord() context.SpotSpecification_TimeoutAction = this.SpotSpecification_TimeoutAction; context.SpotSpecification_TimeoutDurationMinute = this.SpotSpecification_TimeoutDurationMinute; context.InstanceFleet_Name = this.InstanceFleet_Name; + context.OnDemandResizeSpecification_AllocationStrategy = this.OnDemandResizeSpecification_AllocationStrategy; + context.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference = this.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference; + context.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn = this.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn; + context.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy = this.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy; context.OnDemandResizeSpecification_TimeoutDurationMinute = this.OnDemandResizeSpecification_TimeoutDurationMinute; + context.SpotResizeSpecification_AllocationStrategy = this.SpotResizeSpecification_AllocationStrategy; context.SpotResizeSpecification_TimeoutDurationMinute = this.SpotResizeSpecification_TimeoutDurationMinute; context.InstanceFleet_TargetOnDemandCapacity = this.InstanceFleet_TargetOnDemandCapacity; context.InstanceFleet_TargetSpotCapacity = this.InstanceFleet_TargetSpotCapacity; @@ -617,11 +689,56 @@ public object Execute(ExecutorContext context) // populate ResizeSpecifications var requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = true; requestInstanceFleet_instanceFleet_ResizeSpecifications = new Amazon.ElasticMapReduce.Model.InstanceFleetResizingSpecifications(); + Amazon.ElasticMapReduce.Model.SpotResizingSpecification requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; + + // populate SpotResizeSpecification + var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = true; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = new Amazon.ElasticMapReduce.Model.SpotResizingSpecification(); + Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy = null; + if (cmdletContext.SpotResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy = cmdletContext.SpotResizeSpecification_AllocationStrategy; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification.AllocationStrategy = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = false; + } + System.Int32? requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = null; + if (cmdletContext.SpotResizeSpecification_TimeoutDurationMinute != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = cmdletContext.SpotResizeSpecification_TimeoutDurationMinute.Value; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification.TimeoutDurationMinutes = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute.Value; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = false; + } + // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification should be set to null + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications.SpotResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification; + requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = false; + } Amazon.ElasticMapReduce.Model.OnDemandResizingSpecification requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = null; // populate OnDemandResizeSpecification var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = true; requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = new Amazon.ElasticMapReduce.Model.OnDemandResizingSpecification(); + Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy = null; + if (cmdletContext.OnDemandResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy = cmdletContext.OnDemandResizeSpecification_AllocationStrategy; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification.AllocationStrategy = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = false; + } System.Int32? requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_TimeoutDurationMinute = null; if (cmdletContext.OnDemandResizeSpecification_TimeoutDurationMinute != null) { @@ -632,39 +749,59 @@ public object Execute(ExecutorContext context) requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification.TimeoutDurationMinutes = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_TimeoutDurationMinute.Value; requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = false; } - // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification should be set to null - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull) + Amazon.ElasticMapReduce.Model.OnDemandCapacityReservationOptions requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions = null; + + // populate CapacityReservationOptions + var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = true; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions = new Amazon.ElasticMapReduce.Model.OnDemandCapacityReservationOptions(); + Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference = null; + if (cmdletContext.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = null; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference = cmdletContext.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference; } - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification != null) + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications.OnDemandResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification; - requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = false; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions.CapacityReservationPreference = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = false; } - Amazon.ElasticMapReduce.Model.SpotResizingSpecification requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; - - // populate SpotResizeSpecification - var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = true; - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = new Amazon.ElasticMapReduce.Model.SpotResizingSpecification(); - System.Int32? requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = null; - if (cmdletContext.SpotResizeSpecification_TimeoutDurationMinute != null) + System.String requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn = null; + if (cmdletContext.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = cmdletContext.SpotResizeSpecification_TimeoutDurationMinute.Value; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn = cmdletContext.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn; } - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute != null) + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification.TimeoutDurationMinutes = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute.Value; - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = false; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions.CapacityReservationResourceGroupArn = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = false; } - // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification should be set to null - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull) + Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy = null; + if (cmdletContext.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy = cmdletContext.InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy; } - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification != null) + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications.SpotResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions.UsageStrategy = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = false; + } + // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions should be set to null + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions = null; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification.CapacityReservationOptions = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = false; + } + // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification should be set to null + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = null; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications.OnDemandResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification; requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = false; } // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications should be set to null @@ -755,7 +892,12 @@ internal partial class CmdletContext : ExecutorContext public Amazon.ElasticMapReduce.SpotProvisioningTimeoutAction SpotSpecification_TimeoutAction { get; set; } public System.Int32? SpotSpecification_TimeoutDurationMinute { get; set; } public System.String InstanceFleet_Name { get; set; } + public Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy OnDemandResizeSpecification_AllocationStrategy { get; set; } + public Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference { get; set; } + public System.String InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn { get; set; } + public Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy { get; set; } public System.Int32? OnDemandResizeSpecification_TimeoutDurationMinute { get; set; } + public Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy SpotResizeSpecification_AllocationStrategy { get; set; } public System.Int32? SpotResizeSpecification_TimeoutDurationMinute { get; set; } public System.Int32? InstanceFleet_TargetOnDemandCapacity { get; set; } public System.Int32? InstanceFleet_TargetSpotCapacity { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Edit-EMRInstanceFleet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Edit-EMRInstanceFleet-Cmdlet.cs index 8b06c6a81a..65e8e1b333 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Edit-EMRInstanceFleet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticMapReduce/Basic/Edit-EMRInstanceFleet-Cmdlet.cs @@ -49,6 +49,58 @@ public partial class EditEMRInstanceFleetCmdlet : AmazonElasticMapReduceClientCm protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter OnDemandResizeSpecification_AllocationStrategy + /// + /// + /// Specifies the allocation strategy to use to launch On-Demand instances during a resize. + /// The default is lowest-price. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_AllocationStrategy")] + [AWSConstantClassSource("Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy")] + public Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy OnDemandResizeSpecification_AllocationStrategy { get; set; } + #endregion + + #region Parameter SpotResizeSpecification_AllocationStrategy + /// + /// + /// Specifies the allocation strategy to use to launch Spot instances during a resize. + /// If you run Amazon EMR releases 6.9.0 or higher, the default is price-capacity-optimized. + /// If you run Amazon EMR releases 6.8.0 or lower, the default is capacity-optimized. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_ResizeSpecifications_SpotResizeSpecification_AllocationStrategy")] + [AWSConstantClassSource("Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy")] + public Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy SpotResizeSpecification_AllocationStrategy { get; set; } + #endregion + + #region Parameter CapacityReservationOptions_CapacityReservationPreference + /// + /// + /// Indicates the instance's Capacity Reservation preferences. Possible preferences include:
    • open - The instance can run in any open Capacity Reservation that has matching + /// attributes (instance type, platform, Availability Zone).
    • none - The instance avoids running in a Capacity Reservation even if one is + /// available. The instance runs as an On-Demand Instance.
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationPreference")] + [AWSConstantClassSource("Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference")] + public Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference CapacityReservationOptions_CapacityReservationPreference { get; set; } + #endregion + + #region Parameter CapacityReservationOptions_CapacityReservationResourceGroupArn + /// + /// + /// The ARN of the Capacity Reservation resource group in which to run the instance. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_CapacityReservationResourceGroupArn")] + public System.String CapacityReservationOptions_CapacityReservationResourceGroupArn { get; set; } + #endregion + #region Parameter ClusterId /// /// @@ -83,6 +135,19 @@ public partial class EditEMRInstanceFleetCmdlet : AmazonElasticMapReduceClientCm public System.String InstanceFleet_InstanceFleetId { get; set; } #endregion + #region Parameter InstanceFleet_InstanceTypeConfig + /// + /// + /// An array of InstanceTypeConfig objects that specify how Amazon EMR provisions Amazon + /// EC2 instances when it fulfills On-Demand and Spot capacities. For more information, + /// see InstanceTypeConfig. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_InstanceTypeConfigs")] + public Amazon.ElasticMapReduce.Model.InstanceTypeConfig[] InstanceFleet_InstanceTypeConfig { get; set; } + #endregion + #region Parameter InstanceFleet_TargetOnDemandCapacity /// /// @@ -138,6 +203,24 @@ public partial class EditEMRInstanceFleetCmdlet : AmazonElasticMapReduceClientCm public System.Int32? SpotResizeSpecification_TimeoutDurationMinute { get; set; } #endregion + #region Parameter CapacityReservationOptions_UsageStrategy + /// + /// + /// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.If you specify use-capacity-reservations-first, the fleet uses unused Capacity + /// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If + /// multiple instance pools have unused Capacity Reservations, the On-Demand allocation + /// strategy (lowest-price) is applied. If the number of unused Capacity Reservations + /// is less than the On-Demand target capacity, the remaining On-Demand target capacity + /// is launched according to the On-Demand allocation strategy (lowest-price).If you do not specify a value, the fleet fulfills the On-Demand capacity according + /// to the chosen On-Demand allocation strategy. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("InstanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_UsageStrategy")] + [AWSConstantClassSource("Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy")] + public Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy CapacityReservationOptions_UsageStrategy { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. @@ -213,7 +296,16 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter InstanceFleet_InstanceFleetId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + if (this.InstanceFleet_InstanceTypeConfig != null) + { + context.InstanceFleet_InstanceTypeConfig = new List(this.InstanceFleet_InstanceTypeConfig); + } + context.OnDemandResizeSpecification_AllocationStrategy = this.OnDemandResizeSpecification_AllocationStrategy; + context.CapacityReservationOptions_CapacityReservationPreference = this.CapacityReservationOptions_CapacityReservationPreference; + context.CapacityReservationOptions_CapacityReservationResourceGroupArn = this.CapacityReservationOptions_CapacityReservationResourceGroupArn; + context.CapacityReservationOptions_UsageStrategy = this.CapacityReservationOptions_UsageStrategy; context.OnDemandResizeSpecification_TimeoutDurationMinute = this.OnDemandResizeSpecification_TimeoutDurationMinute; + context.SpotResizeSpecification_AllocationStrategy = this.SpotResizeSpecification_AllocationStrategy; context.SpotResizeSpecification_TimeoutDurationMinute = this.SpotResizeSpecification_TimeoutDurationMinute; context.InstanceFleet_TargetOnDemandCapacity = this.InstanceFleet_TargetOnDemandCapacity; context.InstanceFleet_TargetSpotCapacity = this.InstanceFleet_TargetSpotCapacity; @@ -251,6 +343,16 @@ public object Execute(ExecutorContext context) request.InstanceFleet.InstanceFleetId = requestInstanceFleet_instanceFleet_InstanceFleetId; requestInstanceFleetIsNull = false; } + List requestInstanceFleet_instanceFleet_InstanceTypeConfig = null; + if (cmdletContext.InstanceFleet_InstanceTypeConfig != null) + { + requestInstanceFleet_instanceFleet_InstanceTypeConfig = cmdletContext.InstanceFleet_InstanceTypeConfig; + } + if (requestInstanceFleet_instanceFleet_InstanceTypeConfig != null) + { + request.InstanceFleet.InstanceTypeConfigs = requestInstanceFleet_instanceFleet_InstanceTypeConfig; + requestInstanceFleetIsNull = false; + } System.Int32? requestInstanceFleet_instanceFleet_TargetOnDemandCapacity = null; if (cmdletContext.InstanceFleet_TargetOnDemandCapacity != null) { @@ -276,11 +378,56 @@ public object Execute(ExecutorContext context) // populate ResizeSpecifications var requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = true; requestInstanceFleet_instanceFleet_ResizeSpecifications = new Amazon.ElasticMapReduce.Model.InstanceFleetResizingSpecifications(); + Amazon.ElasticMapReduce.Model.SpotResizingSpecification requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; + + // populate SpotResizeSpecification + var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = true; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = new Amazon.ElasticMapReduce.Model.SpotResizingSpecification(); + Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy = null; + if (cmdletContext.SpotResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy = cmdletContext.SpotResizeSpecification_AllocationStrategy; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification.AllocationStrategy = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_AllocationStrategy; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = false; + } + System.Int32? requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = null; + if (cmdletContext.SpotResizeSpecification_TimeoutDurationMinute != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = cmdletContext.SpotResizeSpecification_TimeoutDurationMinute.Value; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification.TimeoutDurationMinutes = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute.Value; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = false; + } + // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification should be set to null + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications.SpotResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification; + requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = false; + } Amazon.ElasticMapReduce.Model.OnDemandResizingSpecification requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = null; // populate OnDemandResizeSpecification var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = true; requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = new Amazon.ElasticMapReduce.Model.OnDemandResizingSpecification(); + Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy = null; + if (cmdletContext.OnDemandResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy = cmdletContext.OnDemandResizeSpecification_AllocationStrategy; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification.AllocationStrategy = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_AllocationStrategy; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = false; + } System.Int32? requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_TimeoutDurationMinute = null; if (cmdletContext.OnDemandResizeSpecification_TimeoutDurationMinute != null) { @@ -291,39 +438,59 @@ public object Execute(ExecutorContext context) requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification.TimeoutDurationMinutes = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_onDemandResizeSpecification_TimeoutDurationMinute.Value; requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = false; } - // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification should be set to null - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull) + Amazon.ElasticMapReduce.Model.OnDemandCapacityReservationOptions requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions = null; + + // populate CapacityReservationOptions + var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = true; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions = new Amazon.ElasticMapReduce.Model.OnDemandCapacityReservationOptions(); + Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationPreference = null; + if (cmdletContext.CapacityReservationOptions_CapacityReservationPreference != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = null; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationPreference = cmdletContext.CapacityReservationOptions_CapacityReservationPreference; } - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification != null) + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationPreference != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications.OnDemandResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification; - requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = false; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions.CapacityReservationPreference = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationPreference; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = false; } - Amazon.ElasticMapReduce.Model.SpotResizingSpecification requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; - - // populate SpotResizeSpecification - var requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = true; - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = new Amazon.ElasticMapReduce.Model.SpotResizingSpecification(); - System.Int32? requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = null; - if (cmdletContext.SpotResizeSpecification_TimeoutDurationMinute != null) + System.String requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationResourceGroupArn = null; + if (cmdletContext.CapacityReservationOptions_CapacityReservationResourceGroupArn != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute = cmdletContext.SpotResizeSpecification_TimeoutDurationMinute.Value; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationResourceGroupArn = cmdletContext.CapacityReservationOptions_CapacityReservationResourceGroupArn; } - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute != null) + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationResourceGroupArn != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification.TimeoutDurationMinutes = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification_spotResizeSpecification_TimeoutDurationMinute.Value; - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull = false; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions.CapacityReservationResourceGroupArn = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_CapacityReservationResourceGroupArn; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = false; } - // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification should be set to null - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecificationIsNull) + Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_UsageStrategy = null; + if (cmdletContext.CapacityReservationOptions_UsageStrategy != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification = null; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_UsageStrategy = cmdletContext.CapacityReservationOptions_UsageStrategy; } - if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification != null) + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_UsageStrategy != null) { - requestInstanceFleet_instanceFleet_ResizeSpecifications.SpotResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_SpotResizeSpecification; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions.UsageStrategy = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions_capacityReservationOptions_UsageStrategy; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull = false; + } + // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions should be set to null + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptionsIsNull) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions = null; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification.CapacityReservationOptions = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification_CapacityReservationOptions; + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull = false; + } + // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification should be set to null + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecificationIsNull) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification = null; + } + if (requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification != null) + { + requestInstanceFleet_instanceFleet_ResizeSpecifications.OnDemandResizeSpecification = requestInstanceFleet_instanceFleet_ResizeSpecifications_instanceFleet_ResizeSpecifications_OnDemandResizeSpecification; requestInstanceFleet_instanceFleet_ResizeSpecificationsIsNull = false; } // determine if requestInstanceFleet_instanceFleet_ResizeSpecifications should be set to null @@ -404,7 +571,13 @@ internal partial class CmdletContext : ExecutorContext { public System.String ClusterId { get; set; } public System.String InstanceFleet_InstanceFleetId { get; set; } + public List InstanceFleet_InstanceTypeConfig { get; set; } + public Amazon.ElasticMapReduce.OnDemandProvisioningAllocationStrategy OnDemandResizeSpecification_AllocationStrategy { get; set; } + public Amazon.ElasticMapReduce.OnDemandCapacityReservationPreference CapacityReservationOptions_CapacityReservationPreference { get; set; } + public System.String CapacityReservationOptions_CapacityReservationResourceGroupArn { get; set; } + public Amazon.ElasticMapReduce.OnDemandCapacityReservationUsageStrategy CapacityReservationOptions_UsageStrategy { get; set; } public System.Int32? OnDemandResizeSpecification_TimeoutDurationMinute { get; set; } + public Amazon.ElasticMapReduce.SpotProvisioningAllocationStrategy SpotResizeSpecification_AllocationStrategy { get; set; } public System.Int32? SpotResizeSpecification_TimeoutDurationMinute { get; set; } public System.Int32? InstanceFleet_TargetOnDemandCapacity { get; set; } public System.Int32? InstanceFleet_TargetSpotCapacity { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/ElasticTranscoder/AmazonElasticTranscoderClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ElasticTranscoder/AmazonElasticTranscoderClientCmdlet.cs index 014edd115e..358e1a9c28 100644 --- a/modules/AWSPowerShell/Cmdlets/ElasticTranscoder/AmazonElasticTranscoderClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ElasticTranscoder/AmazonElasticTranscoderClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticTranscoder CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticTranscoderConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Elasticsearch/AmazonElasticsearchClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Elasticsearch/AmazonElasticsearchClientCmdlet.cs index d1446a423c..35777596e8 100644 --- a/modules/AWSPowerShell/Cmdlets/Elasticsearch/AmazonElasticsearchClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Elasticsearch/AmazonElasticsearchClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonElasticsearch CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonElasticsearchConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EntityResolution/AmazonEntityResolutionClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EntityResolution/AmazonEntityResolutionClientCmdlet.cs index 489d23bed4..063dee34e0 100644 --- a/modules/AWSPowerShell/Cmdlets/EntityResolution/AmazonEntityResolutionClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EntityResolution/AmazonEntityResolutionClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEntityResolution CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEntityResolutionConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/EventBridge/AmazonEventBridgeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/EventBridge/AmazonEventBridgeClientCmdlet.cs index 705ac34194..37c7a1e421 100644 --- a/modules/AWSPowerShell/Cmdlets/EventBridge/AmazonEventBridgeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EventBridge/AmazonEventBridgeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonEventBridge CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonEventBridgeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.Completers.psm1 index a06515e878..6eb06c5e9b 100644 --- a/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.Completers.psm1 @@ -104,6 +104,13 @@ $FIS_Completers = { break } + # Amazon.FIS.SafetyLeverStatusInput + "Update-FISSafetyLeverState/State_Status" + { + $v = "disengaged","engaged" + break + } + } @@ -116,6 +123,7 @@ $FIS_map = @{ "ExperimentOptions_AccountTargeting"=@("New-FISExperimentTemplate") "ExperimentOptions_ActionsMode"=@("Start-FISExperiment") "ExperimentOptions_EmptyTargetResolutionMode"=@("New-FISExperimentTemplate","Update-FISExperimentTemplate") + "State_Status"=@("Update-FISSafetyLeverState") } _awsArgumentCompleterRegistration $FIS_Completers $FIS_map @@ -176,6 +184,7 @@ $FIS_SelectMap = @{ "Get-FISExperiment", "Get-FISExperimentTargetAccountConfiguration", "Get-FISExperimentTemplate", + "Get-FISSafetyLever", "Get-FISTargetAccountConfiguration", "Get-FISTargetResourceType", "Get-FISActionList", @@ -191,6 +200,7 @@ $FIS_SelectMap = @{ "Add-FISResourceTag", "Remove-FISResourceTag", "Update-FISExperimentTemplate", + "Update-FISSafetyLeverState", "Update-FISTargetAccountConfiguration") } diff --git a/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.psd1 b/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.psd1 index d317096b28..6b0ab651c8 100644 --- a/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.psd1 +++ b/modules/AWSPowerShell/Cmdlets/FIS/AWS.Tools.FIS.psd1 @@ -97,6 +97,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-FISExperimentTemplate', 'Get-FISExperimentTemplateList', 'Get-FISResourceTag', + 'Get-FISSafetyLever', 'Get-FISTargetAccountConfiguration', 'Get-FISTargetAccountConfigurationList', 'Get-FISTargetResourceType', @@ -109,6 +110,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Start-FISExperiment', 'Stop-FISExperiment', 'Update-FISExperimentTemplate', + 'Update-FISSafetyLeverState', 'Update-FISTargetAccountConfiguration') # Variables to export from this module diff --git a/modules/AWSPowerShell/Cmdlets/FIS/AmazonFISClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/FIS/AmazonFISClientCmdlet.cs index 40375a7692..007f9840cb 100644 --- a/modules/AWSPowerShell/Cmdlets/FIS/AmazonFISClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FIS/AmazonFISClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonFIS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonFISConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/FIS/Basic/Get-FISSafetyLever-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/FIS/Basic/Get-FISSafetyLever-Cmdlet.cs new file mode 100644 index 0000000000..b64cd908d4 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/FIS/Basic/Get-FISSafetyLever-Cmdlet.cs @@ -0,0 +1,202 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.FIS; +using Amazon.FIS.Model; + +namespace Amazon.PowerShell.Cmdlets.FIS +{ + /// + /// Gets information about the specified safety lever. + /// + [Cmdlet("Get", "FISSafetyLever")] + [OutputType("Amazon.FIS.Model.SafetyLever")] + [AWSCmdlet("Calls the AWS Fault Injection Simulator GetSafetyLever API operation.", Operation = new[] {"GetSafetyLever"}, SelectReturnType = typeof(Amazon.FIS.Model.GetSafetyLeverResponse))] + [AWSCmdletOutput("Amazon.FIS.Model.SafetyLever or Amazon.FIS.Model.GetSafetyLeverResponse", + "This cmdlet returns an Amazon.FIS.Model.SafetyLever object.", + "The service call response (type Amazon.FIS.Model.GetSafetyLeverResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetFISSafetyLeverCmdlet : AmazonFISClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Id + /// + /// + /// The ID of the safety lever. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String Id { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'SafetyLever'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.FIS.Model.GetSafetyLeverResponse). + /// Specifying the name of a property of type Amazon.FIS.Model.GetSafetyLeverResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "SafetyLever"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Id parameter. + /// The -PassThru parameter is deprecated, use -Select '^Id' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Id' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.Id; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Id = this.Id; + #if MODULAR + if (this.Id == null && ParameterWasBound(nameof(this.Id))) + { + WriteWarning("You are passing $null as a value for parameter Id which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.FIS.Model.GetSafetyLeverRequest(); + + if (cmdletContext.Id != null) + { + request.Id = cmdletContext.Id; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.FIS.Model.GetSafetyLeverResponse CallAWSServiceOperation(IAmazonFIS client, Amazon.FIS.Model.GetSafetyLeverRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Fault Injection Simulator", "GetSafetyLever"); + try + { + #if DESKTOP + return client.GetSafetyLever(request); + #elif CORECLR + return client.GetSafetyLeverAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String Id { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.SafetyLever; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/FIS/Basic/Update-FISSafetyLeverState-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/FIS/Basic/Update-FISSafetyLeverState-Cmdlet.cs new file mode 100644 index 0000000000..4ad2057d06 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/FIS/Basic/Update-FISSafetyLeverState-Cmdlet.cs @@ -0,0 +1,297 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.FIS; +using Amazon.FIS.Model; + +namespace Amazon.PowerShell.Cmdlets.FIS +{ + /// + /// Updates the specified safety lever state. + /// + [Cmdlet("Update", "FISSafetyLeverState", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.FIS.Model.SafetyLever")] + [AWSCmdlet("Calls the AWS Fault Injection Simulator UpdateSafetyLeverState API operation.", Operation = new[] {"UpdateSafetyLeverState"}, SelectReturnType = typeof(Amazon.FIS.Model.UpdateSafetyLeverStateResponse))] + [AWSCmdletOutput("Amazon.FIS.Model.SafetyLever or Amazon.FIS.Model.UpdateSafetyLeverStateResponse", + "This cmdlet returns an Amazon.FIS.Model.SafetyLever object.", + "The service call response (type Amazon.FIS.Model.UpdateSafetyLeverStateResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateFISSafetyLeverStateCmdlet : AmazonFISClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Id + /// + /// + /// The ID of the safety lever. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String Id { get; set; } + #endregion + + #region Parameter State_Reason + /// + /// + /// The reason for updating the state of the safety lever. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String State_Reason { get; set; } + #endregion + + #region Parameter State_Status + /// + /// + /// The updated state of the safety lever. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.FIS.SafetyLeverStatusInput")] + public Amazon.FIS.SafetyLeverStatusInput State_Status { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'SafetyLever'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.FIS.Model.UpdateSafetyLeverStateResponse). + /// Specifying the name of a property of type Amazon.FIS.Model.UpdateSafetyLeverStateResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "SafetyLever"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Id parameter. + /// The -PassThru parameter is deprecated, use -Select '^Id' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Id' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.Id), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-FISSafetyLeverState (UpdateSafetyLeverState)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.Id; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Id = this.Id; + #if MODULAR + if (this.Id == null && ParameterWasBound(nameof(this.Id))) + { + WriteWarning("You are passing $null as a value for parameter Id which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.State_Reason = this.State_Reason; + #if MODULAR + if (this.State_Reason == null && ParameterWasBound(nameof(this.State_Reason))) + { + WriteWarning("You are passing $null as a value for parameter State_Reason which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.State_Status = this.State_Status; + #if MODULAR + if (this.State_Status == null && ParameterWasBound(nameof(this.State_Status))) + { + WriteWarning("You are passing $null as a value for parameter State_Status which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.FIS.Model.UpdateSafetyLeverStateRequest(); + + if (cmdletContext.Id != null) + { + request.Id = cmdletContext.Id; + } + + // populate State + var requestStateIsNull = true; + request.State = new Amazon.FIS.Model.UpdateSafetyLeverStateInput(); + System.String requestState_state_Reason = null; + if (cmdletContext.State_Reason != null) + { + requestState_state_Reason = cmdletContext.State_Reason; + } + if (requestState_state_Reason != null) + { + request.State.Reason = requestState_state_Reason; + requestStateIsNull = false; + } + Amazon.FIS.SafetyLeverStatusInput requestState_state_Status = null; + if (cmdletContext.State_Status != null) + { + requestState_state_Status = cmdletContext.State_Status; + } + if (requestState_state_Status != null) + { + request.State.Status = requestState_state_Status; + requestStateIsNull = false; + } + // determine if request.State should be set to null + if (requestStateIsNull) + { + request.State = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.FIS.Model.UpdateSafetyLeverStateResponse CallAWSServiceOperation(IAmazonFIS client, Amazon.FIS.Model.UpdateSafetyLeverStateRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Fault Injection Simulator", "UpdateSafetyLeverState"); + try + { + #if DESKTOP + return client.UpdateSafetyLeverState(request); + #elif CORECLR + return client.UpdateSafetyLeverStateAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String Id { get; set; } + public System.String State_Reason { get; set; } + public Amazon.FIS.SafetyLeverStatusInput State_Status { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.SafetyLever; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/FMS/AmazonFMSClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/FMS/AmazonFMSClientCmdlet.cs index 1119235fcd..662b6bc720 100644 --- a/modules/AWSPowerShell/Cmdlets/FMS/AmazonFMSClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FMS/AmazonFMSClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonFMS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonFMSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/FSx/AmazonFSxClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/FSx/AmazonFSxClientCmdlet.cs index cd648ac25c..ed0d499df1 100644 --- a/modules/AWSPowerShell/Cmdlets/FSx/AmazonFSxClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FSx/AmazonFSxClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonFSx CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonFSxConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryAssociation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryAssociation-Cmdlet.cs index 6187f74ce2..649505d360 100644 --- a/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryAssociation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryAssociation-Cmdlet.cs @@ -83,9 +83,9 @@ public partial class NewFSXDataRepositoryAssociationCmdlet : AmazonFSxClientCmdl /// /// /// The path to the Amazon S3 data repository that will be linked to the file system. - /// The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/. - /// This path specifies where in the S3 data repository files will be imported from or - /// exported to. + /// The path can be an S3 bucket or prefix in the format s3://bucket-name/prefix/ + /// (where prefix is optional). This path specifies where in the S3 data repository + /// files will be imported from or exported to. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryTask-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryTask-Cmdlet.cs index 821317d886..5d8b4de4ad 100644 --- a/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryTask-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FSx/Basic/New-FSXDataRepositoryTask-Cmdlet.cs @@ -140,8 +140,8 @@ public partial class NewFSXDataRepositoryTaskCmdlet : AmazonFSxClientCmdlet, IEx /// on the file system's linked S3 data repository. An absolute path that defines where /// the completion report will be stored in the destination location. The Path /// you provide must be located within the file system’s ExportPath. An example Path - /// value is "s3://myBucket/myExportPath/optionalPrefix". The report provides the following - /// information for each file in the report: FilePath, FileStatus, and ErrorCode. + /// value is "s3://amzn-s3-demo-bucket/myExportPath/optionalPrefix". The report provides + /// the following information for each file in the report: FilePath, FileStatus, and ErrorCode. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -162,8 +162,8 @@ public partial class NewFSXDataRepositoryTaskCmdlet : AmazonFSxClientCmdlet, IEx /// directory or file on the file system you want to export, then the path to provide /// is path1.
  • For import tasks, the list contains paths in the Amazon S3 bucket from which POSIX /// metadata changes are imported to the FSx for Lustre file system. The path can be an - /// S3 bucket or prefix in the format s3://myBucket/myPrefix (where myPrefix - /// is optional).
  • For release tasks, the list contains directory or file paths on the FSx for Lustre + /// S3 bucket or prefix in the format s3://bucket-name/prefix (where prefix + /// is optional).
  • For release tasks, the list contains directory or file paths on the FSx for Lustre /// file system from which to release exported files. If a directory is specified, files /// within the directory are released. If a file path is specified, only that file is /// released. To release all exported files in the file system, specify a forward slash diff --git a/modules/AWSPowerShell/Cmdlets/FinSpaceData/AmazonFinSpaceDataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/FinSpaceData/AmazonFinSpaceDataClientCmdlet.cs index 09236f364e..8f31ddbd8d 100644 --- a/modules/AWSPowerShell/Cmdlets/FinSpaceData/AmazonFinSpaceDataClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FinSpaceData/AmazonFinSpaceDataClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonFinSpaceData CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonFinSpaceDataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Finspace/AmazonFinspaceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Finspace/AmazonFinspaceClientCmdlet.cs index 79a1aeef3b..5c9e53b3fd 100644 --- a/modules/AWSPowerShell/Cmdlets/Finspace/AmazonFinspaceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Finspace/AmazonFinspaceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonFinspace CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonFinspaceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Finspace/Basic/New-FINSPKxScalingGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Finspace/Basic/New-FINSPKxScalingGroup-Cmdlet.cs index 2537ec40d4..06db7b1e32 100644 --- a/modules/AWSPowerShell/Cmdlets/Finspace/Basic/New-FINSPKxScalingGroup-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Finspace/Basic/New-FINSPKxScalingGroup-Cmdlet.cs @@ -80,7 +80,8 @@ public partial class NewFINSPKxScalingGroupCmdlet : AmazonFinspaceClientCmdlet, /// /// /// The memory and CPU capabilities of the scaling group host on which FinSpace Managed - /// kdb clusters will be placed.You can add one of the following values:
    • kx.sg.4xlarge – The host type with a configuration of 108 GiB memory and 16 + /// kdb clusters will be placed.You can add one of the following values:
      • kx.sg.large – The host type with a configuration of 16 GiB memory and 2 vCPUs.
      • kx.sg.xlarge – The host type with a configuration of 32 GiB memory and 4 vCPUs.
      • kx.sg.2xlarge – The host type with a configuration of 64 GiB memory and 8 + /// vCPUs.
      • kx.sg.4xlarge – The host type with a configuration of 108 GiB memory and 16 /// vCPUs.
      • kx.sg.8xlarge – The host type with a configuration of 216 GiB memory and 32 /// vCPUs.
      • kx.sg.16xlarge – The host type with a configuration of 432 GiB memory and /// 64 vCPUs.
      • kx.sg.32xlarge – The host type with a configuration of 864 GiB memory and diff --git a/modules/AWSPowerShell/Cmdlets/ForecastQueryService/AmazonForecastQueryServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ForecastQueryService/AmazonForecastQueryServiceClientCmdlet.cs index b5c484a24b..1ec1adf5e9 100644 --- a/modules/AWSPowerShell/Cmdlets/ForecastQueryService/AmazonForecastQueryServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ForecastQueryService/AmazonForecastQueryServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonForecastQueryService CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonForecastQueryServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ForecastService/AmazonForecastServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ForecastService/AmazonForecastServiceClientCmdlet.cs index a355c101b4..609dd0ac24 100644 --- a/modules/AWSPowerShell/Cmdlets/ForecastService/AmazonForecastServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ForecastService/AmazonForecastServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonForecastService CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonForecastServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/FraudDetector/AmazonFraudDetectorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/FraudDetector/AmazonFraudDetectorClientCmdlet.cs index 9edbd7e218..c7afc6eb04 100644 --- a/modules/AWSPowerShell/Cmdlets/FraudDetector/AmazonFraudDetectorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FraudDetector/AmazonFraudDetectorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonFraudDetector CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonFraudDetectorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/FreeTier/AmazonFreeTierClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/FreeTier/AmazonFreeTierClientCmdlet.cs index bbd2722524..dfa5b32b52 100644 --- a/modules/AWSPowerShell/Cmdlets/FreeTier/AmazonFreeTierClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/FreeTier/AmazonFreeTierClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonFreeTier CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonFreeTierConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/AmazonGameLiftClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/AmazonGameLiftClientCmdlet.cs index 22fa8bc1be..fcd99fd680 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/AmazonGameLiftClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/AmazonGameLiftClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGameLift CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGameLiftConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLComputeAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLComputeAccess-Cmdlet.cs index 823933efe8..6c7fb32d2b 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLComputeAccess-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLComputeAccess-Cmdlet.cs @@ -48,8 +48,7 @@ namespace Amazon.PowerShell.Cmdlets.GML /// with the container. /// Learn more + /// fleet issues
      ///
    [Cmdlet("Get", "GMLComputeAccess")] [OutputType("Amazon.GameLift.Model.GetComputeAccessResponse")] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationAttribute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationAttribute-Cmdlet.cs index 494d8af4a0..5664a72432 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationAttribute-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationAttribute-Cmdlet.cs @@ -49,7 +49,9 @@ namespace Amazon.PowerShell.Cmdlets.GML /// operation does not return the home Region. To get information on a fleet's home Region, /// call DescribeFleetAttributes. ///
    Learn moreSetting - /// up Amazon GameLift fleets

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + /// up Amazon GameLift fleets + /// Amazon GameLift service locations for managed hosting + ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. /// [Cmdlet("Get", "GMLFleetLocationAttribute")] [OutputType("Amazon.GameLift.Model.DescribeFleetLocationAttributesResponse")] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationCapacity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationCapacity-Cmdlet.cs index 40aedc435f..70ecd4ee08 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationCapacity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationCapacity-Cmdlet.cs @@ -43,7 +43,9 @@ namespace Amazon.PowerShell.Cmdlets.GML /// If successful, a FleetCapacity object is returned for the requested fleet location. /// /// Learn moreSetting - /// up Amazon GameLift fleetsGameLift + /// up Amazon GameLift fleets + /// Amazon GameLift service locations for managed hosting + /// GameLift /// metrics for fleets /// [Cmdlet("Get", "GMLFleetLocationCapacity")] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationUtilization-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationUtilization-Cmdlet.cs index dbf818a27e..4cbae3daa9 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationUtilization-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Get-GMLFleetLocationUtilization-Cmdlet.cs @@ -40,7 +40,9 @@ namespace Amazon.PowerShell.Cmdlets.GML /// If successful, a FleetUtilization object is returned for the requested fleet /// location. /// Learn moreSetting - /// up Amazon GameLift fleetsGameLift + /// up Amazon GameLift fleets + /// Amazon GameLift service locations for managed hosting + /// GameLift /// metrics for fleets /// [Cmdlet("Get", "GMLFleetLocationUtilization")] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLBuild-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLBuild-Cmdlet.cs index 16d86be8ad..766a3150c0 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLBuild-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLBuild-Cmdlet.cs @@ -125,10 +125,12 @@ public partial class NewGMLBuildCmdlet : AmazonGameLiftClientCmdlet, IExecutor /// the type of fleet resources that you use for this build. If your game build contains /// multiple executables, they all must run on the same operating system. You must specify /// a valid operating system in this request. There is no default value. You can't change - /// a build's operating system later.If you have active fleets using the Windows Server 2012 operating system, you can - /// continue to create new builds using this OS until October 10, 2023, when Microsoft - /// ends its support. All others must use Windows Server 2016 when creating new Windows-based - /// builds. + /// a build's operating system later.Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details in the + /// Amazon Linux 2 FAQs. For + /// game servers that are hosted on AL2 and use Amazon GameLift server SDK 4.x., first + /// update the game server build to server SDK 5.x, and then deploy to AL2023 instances. + /// See + /// Migrate to Amazon GameLift server SDK version 5. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLContainerGroupDefinition-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLContainerGroupDefinition-Cmdlet.cs index 07751c67e4..afc003e327 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLContainerGroupDefinition-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLContainerGroupDefinition-Cmdlet.cs @@ -127,7 +127,12 @@ public partial class NewGMLContainerGroupDefinitionCmdlet : AmazonGameLiftClient /// /// /// The platform that is used by containers in the container group definition. All containers - /// in a group must run on the same operating system. + /// in a group must run on the same operating system.Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details in the + /// Amazon Linux 2 FAQs. For + /// game servers that are hosted on AL2 and use Amazon GameLift server SDK 4.x., first + /// update the game server build to server SDK 5.x, and then deploy to AL2023 instances. + /// See + /// Migrate to Amazon GameLift server SDK version 5. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleet-Cmdlet.cs index 38dea61440..f04d8bf440 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleet-Cmdlet.cs @@ -300,13 +300,14 @@ public partial class NewGMLFleetCmdlet : AmazonGameLiftClientCmdlet, IExecutor #region Parameter Location /// /// - /// A set of remote locations to deploy additional instances to and manage as part of - /// the fleet. This parameter can only be used when creating fleets in Amazon Web Services - /// Regions that support multiple locations. You can add any Amazon GameLift-supported - /// Amazon Web Services Region as a remote location, in the form of an Amazon Web Services - /// Region code, such as us-west-2 or Local Zone code. To create a fleet with instances - /// in the home Region only, don't set this parameter. When using this parameter, Amazon GameLift requires you to include your home location - /// in the request. + /// A set of remote locations to deploy additional instances to and manage as a multi-location + /// fleet. Use this parameter when creating a fleet in Amazon Web Services Regions that + /// support multiple locations. You can add any Amazon Web Services Region or Local Zone + /// that's supported by Amazon GameLift. Provide a list of one or more Amazon Web Services + /// Region codes, such as us-west-2, or Local Zone names. When using this parameter, + /// Amazon GameLift requires you to include your home location in the request. For a list + /// of supported Regions and Local Zones, see + /// Amazon GameLift service locations for managed hosting. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleetLocation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleetLocation-Cmdlet.cs index c65ae79c8c..f7ed2a5588 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleetLocation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLFleetLocation-Cmdlet.cs @@ -46,8 +46,10 @@ namespace Amazon.PowerShell.Cmdlets.GML /// each added location. You can track the status of each new location by monitoring location /// creation events using DescribeFleetEvents. /// Learn moreSetting - /// up fleetsMulti-location - /// fleets + /// up fleetsUpdate + /// fleet locations + /// Amazon GameLift service locations for managed hosting. + /// /// [Cmdlet("New", "GMLFleetLocation", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.GameLift.Model.CreateFleetLocationsResponse")] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLLocation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLLocation-Cmdlet.cs index 13444c7c29..f5483925ac 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLLocation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/New-GMLLocation-Cmdlet.cs @@ -62,11 +62,10 @@ public partial class NewGMLLocationCmdlet : AmazonGameLiftClientCmdlet, IExecuto #region Parameter Tag /// /// - /// A list of labels to assign to the new matchmaking configuration resource. Tags are - /// developer-defined key-value pairs. Tagging Amazon Web Services resources are useful - /// for resource management, access management and cost allocation. For more information, - /// see Tagging - /// Amazon Web Services Resources in the Amazon Web Services General Rareference. + /// A list of labels to assign to the new resource. Tags are developer-defined key-value + /// pairs. Tagging Amazon Web Services resources are useful for resource management, access + /// management, and cost allocation. For more information, see + /// Tagging Amazon Web Services Resources in the Amazon Web Services General Rareference. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Register-GMLCompute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Register-GMLCompute-Cmdlet.cs index 45c2af1a91..ad9b4dfba2 100644 --- a/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Register-GMLCompute-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GameLift/Basic/Register-GMLCompute-Cmdlet.cs @@ -133,7 +133,7 @@ public partial class RegisterGMLComputeCmdlet : AmazonGameLiftClientCmdlet, IExe /// /// /// The IP address of the compute resource. Amazon GameLift requires either a DNS name - /// or IP address. + /// or IP address. When registering an Anywhere fleet, an IP address is required. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -144,7 +144,7 @@ public partial class RegisterGMLComputeCmdlet : AmazonGameLiftClientCmdlet, IExe /// /// /// The name of a custom location to associate with the compute resource being registered. - /// + /// This parameter is required when registering a compute for an Anywhere fleet. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Glacier/AmazonGlacierClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Glacier/AmazonGlacierClientCmdlet.cs index d17752d4f1..7d8a0db9f5 100644 --- a/modules/AWSPowerShell/Cmdlets/Glacier/AmazonGlacierClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Glacier/AmazonGlacierClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGlacier CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGlacierConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/GlobalAccelerator/AmazonGlobalAcceleratorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/GlobalAccelerator/AmazonGlobalAcceleratorClientCmdlet.cs index 38b4fec880..f7804f2a84 100644 --- a/modules/AWSPowerShell/Cmdlets/GlobalAccelerator/AmazonGlobalAcceleratorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GlobalAccelerator/AmazonGlobalAcceleratorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGlobalAccelerator CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGlobalAcceleratorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.Completers.psm1 index 6c6c532c01..bb34c59db6 100644 --- a/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.Completers.psm1 @@ -80,6 +80,13 @@ $GLUE_Completers = { switch ($("$commandName/$parameterName")) { + # Amazon.Glue.AuthenticationType + "Test-GLUEConnection/AuthenticationConfiguration_AuthenticationType" + { + $v = "BASIC","CUSTOM","OAUTH2" + break + } + # Amazon.Glue.CatalogEncryptionMode "Set-GLUEDataCatalogEncryptionSetting/EncryptionAtRest_CatalogEncryptionMode" { @@ -104,6 +111,13 @@ $GLUE_Completers = { break } + # Amazon.Glue.ConnectionType + "Test-GLUEConnection/TestConnectionInput_ConnectionType" + { + $v = "CUSTOM","JDBC","KAFKA","MARKETPLACE","MONGODB","NETWORK","SALESFORCE","SFTP","VIEW_VALIDATION_ATHENA","VIEW_VALIDATION_REDSHIFT" + break + } + # Amazon.Glue.CrawlerLineageSettings { ($_ -eq "New-GLUECrawler/LineageConfiguration_CrawlerLineageSetting") -Or @@ -220,6 +234,13 @@ $GLUE_Completers = { break } + # Amazon.Glue.OAuth2GrantType + "Test-GLUEConnection/OAuth2Properties_OAuth2GrantType" + { + $v = "AUTHORIZATION_CODE","CLIENT_CREDENTIALS","JWT_BEARER" + break + } + # Amazon.Glue.RecrawlBehavior { ($_ -eq "New-GLUECrawler/RecrawlPolicy_RecrawlBehavior") -Or @@ -289,7 +310,7 @@ $GLUE_Completers = { ($_ -eq "Update-GLUETableOptimizer/Type") } { - $v = "compaction" + $v = "compaction","orphan_file_deletion","retention" break } @@ -391,6 +412,7 @@ $GLUE_Completers = { $GLUE_map = @{ "AdditionalRunOptions_CompositeRuleEvaluationMethod"=@("Start-GLUEDataQualityRulesetEvaluationRun") + "AuthenticationConfiguration_AuthenticationType"=@("Test-GLUEConnection") "AuthStrategy"=@("Update-GLUEJobFromSourceControl","Update-GLUESourceControlFromJob") "CloudWatchEncryption_CloudWatchEncryptionMode"=@("New-GLUESecurityConfiguration") "Compatibility"=@("New-GLUESchema","Update-GLUESchema") @@ -410,6 +432,7 @@ $GLUE_map = @{ "Language"=@("Get-GLUEPlan","New-GLUEScript") "LineageConfiguration_CrawlerLineageSetting"=@("New-GLUECrawler","Update-GLUECrawler") "MlUserDataEncryption_MlUserDataEncryptionMode"=@("New-GLUEMLTransform") + "OAuth2Properties_OAuth2GrantType"=@("Test-GLUEConnection") "Parameters_TransformType"=@("New-GLUEMLTransform","Update-GLUEMLTransform") "PolicyExistsCondition"=@("Set-GLUEResourcePolicy") "Provider"=@("Update-GLUEJobFromSourceControl","Update-GLUESourceControlFromJob") @@ -421,6 +444,7 @@ $GLUE_map = @{ "SourceControlDetails_AuthStrategy"=@("New-GLUEJob") "SourceControlDetails_Provider"=@("New-GLUEJob") "SupportedDialect_Dialect"=@("Get-GLUEUnfilteredTableMetadata") + "TestConnectionInput_ConnectionType"=@("Test-GLUEConnection") "Type"=@("Get-GLUETableOptimizer","Get-GLUETableOptimizerRunList","New-GLUETableOptimizer","New-GLUETrigger","Remove-GLUETableOptimizer","Update-GLUETableOptimizer") "ViewUpdateAction"=@("Update-GLUETable") "WorkerType"=@("New-GLUEDevEndpoint","New-GLUEJob","New-GLUEMLTransform","New-GLUESession","Start-GLUEJobRun","Update-GLUEMLTransform") @@ -676,6 +700,7 @@ $GLUE_SelectMap = @{ "Stop-GLUETrigger", "Stop-GLUEWorkflowRun", "Add-GLUEResourceTag", + "Test-GLUEConnection", "Remove-GLUEResourceTag", "Update-GLUEBlueprint", "Update-GLUEClassifier", diff --git a/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.psd1 b/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.psd1 index b9ae414f7e..0b8dd51381 100644 --- a/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.psd1 +++ b/modules/AWSPowerShell/Cmdlets/Glue/AWS.Tools.Glue.psd1 @@ -283,6 +283,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Stop-GLUEStatement', 'Stop-GLUETrigger', 'Stop-GLUEWorkflowRun', + 'Test-GLUEConnection', 'Update-GLUEBlueprint', 'Update-GLUEClassifier', 'Update-GLUEColumnStatisticsForPartition', diff --git a/modules/AWSPowerShell/Cmdlets/Glue/AmazonGlueClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Glue/AmazonGlueClientCmdlet.cs index 5f73227bba..28980c53fd 100644 --- a/modules/AWSPowerShell/Cmdlets/Glue/AmazonGlueClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Glue/AmazonGlueClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGlue CreateClient(AWSCredentials credentials, RegionEndpoint re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGlueConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUEConnection-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUEConnection-Cmdlet.cs index 8353d40cb1..e6885ce703 100644 --- a/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUEConnection-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUEConnection-Cmdlet.cs @@ -45,6 +45,8 @@ namespace Amazon.PowerShell.Cmdlets.GLUE public partial class NewGLUEConnectionCmdlet : AmazonGlueClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter CatalogId diff --git a/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUETableOptimizer-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUETableOptimizer-Cmdlet.cs index 2bfe824882..8e8ad1ac28 100644 --- a/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUETableOptimizer-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Glue/Basic/New-GLUETableOptimizer-Cmdlet.cs @@ -60,6 +60,18 @@ public partial class NewGLUETableOptimizerCmdlet : AmazonGlueClientCmdlet, IExec public System.String CatalogId { get; set; } #endregion + #region Parameter IcebergConfiguration_CleanExpiredFile + /// + /// + /// If set to false, snapshots are only deleted from table metadata, and the underlying + /// data and metadata files are not deleted. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_CleanExpiredFiles")] + public System.Boolean? IcebergConfiguration_CleanExpiredFile { get; set; } + #endregion + #region Parameter DatabaseName /// /// @@ -80,13 +92,50 @@ public partial class NewGLUETableOptimizerCmdlet : AmazonGlueClientCmdlet, IExec #region Parameter TableOptimizerConfiguration_Enabled /// /// - /// Whether table optimization is enabled. + /// Whether table optimization is enabled. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public System.Boolean? TableOptimizerConfiguration_Enabled { get; set; } #endregion + #region Parameter IcebergConfiguration_Location + /// + /// + /// Specifies a directory in which to look for files (defaults to the table's location). + /// You may choose a sub-directory rather than the top-level table location. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_Location")] + public System.String IcebergConfiguration_Location { get; set; } + #endregion + + #region Parameter IcebergConfiguration_NumberOfSnapshotsToRetain + /// + /// + /// The number of Iceberg snapshots to retain within the retention period. If an input + /// is not provided, the corresponding Iceberg table configuration field will be used + /// or if not present, the default value 1 will be used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_NumberOfSnapshotsToRetain")] + public System.Int32? IcebergConfiguration_NumberOfSnapshotsToRetain { get; set; } + #endregion + + #region Parameter IcebergConfiguration_OrphanFileRetentionPeriodInDay + /// + /// + /// The number of days that orphan files should be retained before file deletion. If an + /// input is not provided, the default value 3 will be used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_OrphanFileRetentionPeriodInDays")] + public System.Int32? IcebergConfiguration_OrphanFileRetentionPeriodInDay { get; set; } + #endregion + #region Parameter TableOptimizerConfiguration_RoleArn /// /// @@ -98,6 +147,19 @@ public partial class NewGLUETableOptimizerCmdlet : AmazonGlueClientCmdlet, IExec public System.String TableOptimizerConfiguration_RoleArn { get; set; } #endregion + #region Parameter IcebergConfiguration_SnapshotRetentionPeriodInDay + /// + /// + /// The number of days to retain the Iceberg snapshots. If an input is not provided, the + /// corresponding Iceberg table configuration field will be used or if not present, the + /// default value 5 will be used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_SnapshotRetentionPeriodInDays")] + public System.Int32? IcebergConfiguration_SnapshotRetentionPeriodInDay { get; set; } + #endregion + #region Parameter TableName /// /// @@ -195,6 +257,11 @@ protected override void ProcessRecord() } #endif context.TableOptimizerConfiguration_Enabled = this.TableOptimizerConfiguration_Enabled; + context.IcebergConfiguration_Location = this.IcebergConfiguration_Location; + context.IcebergConfiguration_OrphanFileRetentionPeriodInDay = this.IcebergConfiguration_OrphanFileRetentionPeriodInDay; + context.IcebergConfiguration_CleanExpiredFile = this.IcebergConfiguration_CleanExpiredFile; + context.IcebergConfiguration_NumberOfSnapshotsToRetain = this.IcebergConfiguration_NumberOfSnapshotsToRetain; + context.IcebergConfiguration_SnapshotRetentionPeriodInDay = this.IcebergConfiguration_SnapshotRetentionPeriodInDay; context.TableOptimizerConfiguration_RoleArn = this.TableOptimizerConfiguration_RoleArn; context.Type = this.Type; #if MODULAR @@ -254,6 +321,116 @@ public object Execute(ExecutorContext context) { request.TableOptimizerConfiguration.RoleArn = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RoleArn; requestTableOptimizerConfigurationIsNull = false; + } + Amazon.Glue.Model.OrphanFileDeletionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration = null; + + // populate OrphanFileDeletionConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration = new Amazon.Glue.Model.OrphanFileDeletionConfiguration(); + Amazon.Glue.Model.IcebergOrphanFileDeletionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration = null; + + // populate IcebergConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration = new Amazon.Glue.Model.IcebergOrphanFileDeletionConfiguration(); + System.String requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location = null; + if (cmdletContext.IcebergConfiguration_Location != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location = cmdletContext.IcebergConfiguration_Location; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration.Location = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull = false; + } + System.Int32? requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay = null; + if (cmdletContext.IcebergConfiguration_OrphanFileRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay = cmdletContext.IcebergConfiguration_OrphanFileRetentionPeriodInDay.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration.OrphanFileRetentionPeriodInDays = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration.IcebergConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration != null) + { + request.TableOptimizerConfiguration.OrphanFileDeletionConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration; + requestTableOptimizerConfigurationIsNull = false; + } + Amazon.Glue.Model.RetentionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration = null; + + // populate RetentionConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration = new Amazon.Glue.Model.RetentionConfiguration(); + Amazon.Glue.Model.IcebergRetentionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration = null; + + // populate IcebergConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration = new Amazon.Glue.Model.IcebergRetentionConfiguration(); + System.Boolean? requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile = null; + if (cmdletContext.IcebergConfiguration_CleanExpiredFile != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile = cmdletContext.IcebergConfiguration_CleanExpiredFile.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration.CleanExpiredFiles = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = false; + } + System.Int32? requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain = null; + if (cmdletContext.IcebergConfiguration_NumberOfSnapshotsToRetain != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain = cmdletContext.IcebergConfiguration_NumberOfSnapshotsToRetain.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration.NumberOfSnapshotsToRetain = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = false; + } + System.Int32? requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay = null; + if (cmdletContext.IcebergConfiguration_SnapshotRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay = cmdletContext.IcebergConfiguration_SnapshotRetentionPeriodInDay.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration.SnapshotRetentionPeriodInDays = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration.IcebergConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration != null) + { + request.TableOptimizerConfiguration.RetentionConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration; + requestTableOptimizerConfigurationIsNull = false; } // determine if request.TableOptimizerConfiguration should be set to null if (requestTableOptimizerConfigurationIsNull) @@ -329,6 +506,11 @@ internal partial class CmdletContext : ExecutorContext public System.String DatabaseName { get; set; } public System.String TableName { get; set; } public System.Boolean? TableOptimizerConfiguration_Enabled { get; set; } + public System.String IcebergConfiguration_Location { get; set; } + public System.Int32? IcebergConfiguration_OrphanFileRetentionPeriodInDay { get; set; } + public System.Boolean? IcebergConfiguration_CleanExpiredFile { get; set; } + public System.Int32? IcebergConfiguration_NumberOfSnapshotsToRetain { get; set; } + public System.Int32? IcebergConfiguration_SnapshotRetentionPeriodInDay { get; set; } public System.String TableOptimizerConfiguration_RoleArn { get; set; } public Amazon.Glue.TableOptimizerType Type { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/Glue/Basic/Test-GLUEConnection-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Glue/Basic/Test-GLUEConnection-Cmdlet.cs new file mode 100644 index 0000000000..518ac8e9a7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/Glue/Basic/Test-GLUEConnection-Cmdlet.cs @@ -0,0 +1,548 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.Glue; +using Amazon.Glue.Model; + +namespace Amazon.PowerShell.Cmdlets.GLUE +{ + /// + /// Tests a connection to a service to validate the service credentials that you provide. + /// + /// + /// + /// You can either provide an existing connection name or a TestConnectionInput + /// for testing a non-existing connection input. Providing both at the same time will + /// cause an error. + /// + /// If the action is successful, the service sends back an HTTP 200 response. + /// + /// + [Cmdlet("Test", "GLUEConnection")] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Glue TestConnection API operation.", Operation = new[] {"TestConnection"}, SelectReturnType = typeof(Amazon.Glue.Model.TestConnectionResponse))] + [AWSCmdletOutput("None or Amazon.Glue.Model.TestConnectionResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.Glue.Model.TestConnectionResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class TestGLUEConnectionCmdlet : AmazonGlueClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter AuthenticationConfiguration_AuthenticationType + /// + /// + /// A structure containing the authentication configuration in the CreateConnection request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_AuthenticationType")] + [AWSConstantClassSource("Amazon.Glue.AuthenticationType")] + public Amazon.Glue.AuthenticationType AuthenticationConfiguration_AuthenticationType { get; set; } + #endregion + + #region Parameter AuthorizationCodeProperties_AuthorizationCode + /// + /// + /// An authorization code to be used in the third leg of the AUTHORIZATION_CODE + /// grant workflow. This is a single-use code which becomes invalid once exchanged for + /// an access token, thus it is acceptable to have this value as a request parameter. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_AuthorizationCode")] + public System.String AuthorizationCodeProperties_AuthorizationCode { get; set; } + #endregion + + #region Parameter OAuth2ClientApplication_AWSManagedClientApplicationReference + /// + /// + /// The reference to the SaaS-side client app that is Amazon Web Services managed. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_AWSManagedClientApplicationReference")] + public System.String OAuth2ClientApplication_AWSManagedClientApplicationReference { get; set; } + #endregion + + #region Parameter ConnectionName + /// + /// + /// Optional. The name of the connection to test. If only name is provided, the operation + /// will get the connection and use that for testing. + /// + /// + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + public System.String ConnectionName { get; set; } + #endregion + + #region Parameter TestConnectionInput_ConnectionProperty + /// + /// + /// The key-value pairs that define parameters for the connection.JDBC connections use the following connection properties:
    • Required: All of (HOST, PORT, JDBC_ENGINE) or JDBC_CONNECTION_URL.
    • Required: All of (USERNAME, PASSWORD) or SECRET_ID.
    • Optional: JDBC_ENFORCE_SSL, CUSTOM_JDBC_CERT, CUSTOM_JDBC_CERT_STRING, + /// SKIP_CUSTOM_JDBC_CERT_VALIDATION. These parameters are used to configure SSL + /// with JDBC.
    SALESFORCE connections require the AuthenticationConfiguration member to be + /// configured. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_ConnectionProperties")] + public System.Collections.Hashtable TestConnectionInput_ConnectionProperty { get; set; } + #endregion + + #region Parameter TestConnectionInput_ConnectionType + /// + /// + /// The type of connection to test. This operation is only available for the JDBC + /// or SALESFORCE connection types. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.Glue.ConnectionType")] + public Amazon.Glue.ConnectionType TestConnectionInput_ConnectionType { get; set; } + #endregion + + #region Parameter OAuth2Properties_OAuth2GrantType + /// + /// + /// The OAuth2 grant type in the CreateConnection request. For example, AUTHORIZATION_CODE, + /// JWT_BEARER, or CLIENT_CREDENTIALS. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2GrantType")] + [AWSConstantClassSource("Amazon.Glue.OAuth2GrantType")] + public Amazon.Glue.OAuth2GrantType OAuth2Properties_OAuth2GrantType { get; set; } + #endregion + + #region Parameter AuthorizationCodeProperties_RedirectUri + /// + /// + /// The redirect URI where the user gets redirected to by authorization server when issuing + /// an authorization code. The URI is subsequently used when the authorization code is + /// exchanged for an access token. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_RedirectUri")] + public System.String AuthorizationCodeProperties_RedirectUri { get; set; } + #endregion + + #region Parameter AuthenticationConfiguration_SecretArn + /// + /// + /// The secret manager ARN to store credentials in the CreateConnection request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_SecretArn")] + public System.String AuthenticationConfiguration_SecretArn { get; set; } + #endregion + + #region Parameter OAuth2Properties_TokenUrl + /// + /// + /// The URL of the provider's authentication server, to exchange an authorization code + /// for an access token. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_OAuth2Properties_TokenUrl")] + public System.String OAuth2Properties_TokenUrl { get; set; } + #endregion + + #region Parameter OAuth2Properties_TokenUrlParametersMap + /// + /// + /// A map of parameters that are added to the token GET request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_OAuth2Properties_TokenUrlParametersMap")] + public System.Collections.Hashtable OAuth2Properties_TokenUrlParametersMap { get; set; } + #endregion + + #region Parameter OAuth2ClientApplication_UserManagedClientApplicationClientId + /// + /// + /// The client application clientID if the ClientAppType is USER_MANAGED. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TestConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_UserManagedClientApplicationClientId")] + public System.String OAuth2ClientApplication_UserManagedClientApplicationClientId { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.Glue.Model.TestConnectionResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ConnectionName parameter. + /// The -PassThru parameter is deprecated, use -Select '^ConnectionName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ConnectionName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ConnectionName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ConnectionName = this.ConnectionName; + context.AuthenticationConfiguration_AuthenticationType = this.AuthenticationConfiguration_AuthenticationType; + context.AuthorizationCodeProperties_AuthorizationCode = this.AuthorizationCodeProperties_AuthorizationCode; + context.AuthorizationCodeProperties_RedirectUri = this.AuthorizationCodeProperties_RedirectUri; + context.OAuth2ClientApplication_AWSManagedClientApplicationReference = this.OAuth2ClientApplication_AWSManagedClientApplicationReference; + context.OAuth2ClientApplication_UserManagedClientApplicationClientId = this.OAuth2ClientApplication_UserManagedClientApplicationClientId; + context.OAuth2Properties_OAuth2GrantType = this.OAuth2Properties_OAuth2GrantType; + context.OAuth2Properties_TokenUrl = this.OAuth2Properties_TokenUrl; + if (this.OAuth2Properties_TokenUrlParametersMap != null) + { + context.OAuth2Properties_TokenUrlParametersMap = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.OAuth2Properties_TokenUrlParametersMap.Keys) + { + context.OAuth2Properties_TokenUrlParametersMap.Add((String)hashKey, (System.String)(this.OAuth2Properties_TokenUrlParametersMap[hashKey])); + } + } + context.AuthenticationConfiguration_SecretArn = this.AuthenticationConfiguration_SecretArn; + if (this.TestConnectionInput_ConnectionProperty != null) + { + context.TestConnectionInput_ConnectionProperty = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.TestConnectionInput_ConnectionProperty.Keys) + { + context.TestConnectionInput_ConnectionProperty.Add((String)hashKey, (System.String)(this.TestConnectionInput_ConnectionProperty[hashKey])); + } + } + context.TestConnectionInput_ConnectionType = this.TestConnectionInput_ConnectionType; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.Glue.Model.TestConnectionRequest(); + + if (cmdletContext.ConnectionName != null) + { + request.ConnectionName = cmdletContext.ConnectionName; + } + + // populate TestConnectionInput + var requestTestConnectionInputIsNull = true; + request.TestConnectionInput = new Amazon.Glue.Model.TestConnectionInput(); + Dictionary requestTestConnectionInput_testConnectionInput_ConnectionProperty = null; + if (cmdletContext.TestConnectionInput_ConnectionProperty != null) + { + requestTestConnectionInput_testConnectionInput_ConnectionProperty = cmdletContext.TestConnectionInput_ConnectionProperty; + } + if (requestTestConnectionInput_testConnectionInput_ConnectionProperty != null) + { + request.TestConnectionInput.ConnectionProperties = requestTestConnectionInput_testConnectionInput_ConnectionProperty; + requestTestConnectionInputIsNull = false; + } + Amazon.Glue.ConnectionType requestTestConnectionInput_testConnectionInput_ConnectionType = null; + if (cmdletContext.TestConnectionInput_ConnectionType != null) + { + requestTestConnectionInput_testConnectionInput_ConnectionType = cmdletContext.TestConnectionInput_ConnectionType; + } + if (requestTestConnectionInput_testConnectionInput_ConnectionType != null) + { + request.TestConnectionInput.ConnectionType = requestTestConnectionInput_testConnectionInput_ConnectionType; + requestTestConnectionInputIsNull = false; + } + Amazon.Glue.Model.AuthenticationConfigurationInput requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration = null; + + // populate AuthenticationConfiguration + var requestTestConnectionInput_testConnectionInput_AuthenticationConfigurationIsNull = true; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration = new Amazon.Glue.Model.AuthenticationConfigurationInput(); + Amazon.Glue.AuthenticationType requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType = null; + if (cmdletContext.AuthenticationConfiguration_AuthenticationType != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType = cmdletContext.AuthenticationConfiguration_AuthenticationType; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration.AuthenticationType = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType; + requestTestConnectionInput_testConnectionInput_AuthenticationConfigurationIsNull = false; + } + System.String requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn = null; + if (cmdletContext.AuthenticationConfiguration_SecretArn != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn = cmdletContext.AuthenticationConfiguration_SecretArn; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration.SecretArn = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn; + requestTestConnectionInput_testConnectionInput_AuthenticationConfigurationIsNull = false; + } + Amazon.Glue.Model.OAuth2PropertiesInput requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties = null; + + // populate OAuth2Properties + var requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = true; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties = new Amazon.Glue.Model.OAuth2PropertiesInput(); + Amazon.Glue.OAuth2GrantType requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType = null; + if (cmdletContext.OAuth2Properties_OAuth2GrantType != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType = cmdletContext.OAuth2Properties_OAuth2GrantType; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties.OAuth2GrantType = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false; + } + System.String requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl = null; + if (cmdletContext.OAuth2Properties_TokenUrl != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl = cmdletContext.OAuth2Properties_TokenUrl; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties.TokenUrl = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false; + } + Dictionary requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap = null; + if (cmdletContext.OAuth2Properties_TokenUrlParametersMap != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap = cmdletContext.OAuth2Properties_TokenUrlParametersMap; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties.TokenUrlParametersMap = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false; + } + Amazon.Glue.Model.AuthorizationCodeProperties requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties = null; + + // populate AuthorizationCodeProperties + var requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull = true; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties = new Amazon.Glue.Model.AuthorizationCodeProperties(); + System.String requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode = null; + if (cmdletContext.AuthorizationCodeProperties_AuthorizationCode != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode = cmdletContext.AuthorizationCodeProperties_AuthorizationCode; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties.AuthorizationCode = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull = false; + } + System.String requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri = null; + if (cmdletContext.AuthorizationCodeProperties_RedirectUri != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri = cmdletContext.AuthorizationCodeProperties_RedirectUri; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties.RedirectUri = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull = false; + } + // determine if requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties should be set to null + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties = null; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties.AuthorizationCodeProperties = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false; + } + Amazon.Glue.Model.OAuth2ClientApplication requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication = null; + + // populate OAuth2ClientApplication + var requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull = true; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication = new Amazon.Glue.Model.OAuth2ClientApplication(); + System.String requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference = null; + if (cmdletContext.OAuth2ClientApplication_AWSManagedClientApplicationReference != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference = cmdletContext.OAuth2ClientApplication_AWSManagedClientApplicationReference; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication.AWSManagedClientApplicationReference = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull = false; + } + System.String requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId = null; + if (cmdletContext.OAuth2ClientApplication_UserManagedClientApplicationClientId != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId = cmdletContext.OAuth2ClientApplication_UserManagedClientApplicationClientId; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication.UserManagedClientApplicationClientId = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull = false; + } + // determine if requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication should be set to null + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication = null; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties.OAuth2ClientApplication = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_testConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication; + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false; + } + // determine if requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties should be set to null + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties = null; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties != null) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration.OAuth2Properties = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration_testConnectionInput_AuthenticationConfiguration_OAuth2Properties; + requestTestConnectionInput_testConnectionInput_AuthenticationConfigurationIsNull = false; + } + // determine if requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration should be set to null + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfigurationIsNull) + { + requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration = null; + } + if (requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration != null) + { + request.TestConnectionInput.AuthenticationConfiguration = requestTestConnectionInput_testConnectionInput_AuthenticationConfiguration; + requestTestConnectionInputIsNull = false; + } + // determine if request.TestConnectionInput should be set to null + if (requestTestConnectionInputIsNull) + { + request.TestConnectionInput = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.Glue.Model.TestConnectionResponse CallAWSServiceOperation(IAmazonGlue client, Amazon.Glue.Model.TestConnectionRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Glue", "TestConnection"); + try + { + #if DESKTOP + return client.TestConnection(request); + #elif CORECLR + return client.TestConnectionAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ConnectionName { get; set; } + public Amazon.Glue.AuthenticationType AuthenticationConfiguration_AuthenticationType { get; set; } + public System.String AuthorizationCodeProperties_AuthorizationCode { get; set; } + public System.String AuthorizationCodeProperties_RedirectUri { get; set; } + public System.String OAuth2ClientApplication_AWSManagedClientApplicationReference { get; set; } + public System.String OAuth2ClientApplication_UserManagedClientApplicationClientId { get; set; } + public Amazon.Glue.OAuth2GrantType OAuth2Properties_OAuth2GrantType { get; set; } + public System.String OAuth2Properties_TokenUrl { get; set; } + public Dictionary OAuth2Properties_TokenUrlParametersMap { get; set; } + public System.String AuthenticationConfiguration_SecretArn { get; set; } + public Dictionary TestConnectionInput_ConnectionProperty { get; set; } + public Amazon.Glue.ConnectionType TestConnectionInput_ConnectionType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUEConnection-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUEConnection-Cmdlet.cs index 87ff533c22..63d7563c2f 100644 --- a/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUEConnection-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUEConnection-Cmdlet.cs @@ -40,6 +40,8 @@ namespace Amazon.PowerShell.Cmdlets.GLUE public partial class UpdateGLUEConnectionCmdlet : AmazonGlueClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; #region Parameter CatalogId diff --git a/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUETableOptimizer-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUETableOptimizer-Cmdlet.cs index 6c4609b912..ea2e18164f 100644 --- a/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUETableOptimizer-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Glue/Basic/Update-GLUETableOptimizer-Cmdlet.cs @@ -59,6 +59,18 @@ public partial class UpdateGLUETableOptimizerCmdlet : AmazonGlueClientCmdlet, IE public System.String CatalogId { get; set; } #endregion + #region Parameter IcebergConfiguration_CleanExpiredFile + /// + /// + /// If set to false, snapshots are only deleted from table metadata, and the underlying + /// data and metadata files are not deleted. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_CleanExpiredFiles")] + public System.Boolean? IcebergConfiguration_CleanExpiredFile { get; set; } + #endregion + #region Parameter DatabaseName /// /// @@ -79,13 +91,50 @@ public partial class UpdateGLUETableOptimizerCmdlet : AmazonGlueClientCmdlet, IE #region Parameter TableOptimizerConfiguration_Enabled /// /// - /// Whether table optimization is enabled. + /// Whether table optimization is enabled. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public System.Boolean? TableOptimizerConfiguration_Enabled { get; set; } #endregion + #region Parameter IcebergConfiguration_Location + /// + /// + /// Specifies a directory in which to look for files (defaults to the table's location). + /// You may choose a sub-directory rather than the top-level table location. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_Location")] + public System.String IcebergConfiguration_Location { get; set; } + #endregion + + #region Parameter IcebergConfiguration_NumberOfSnapshotsToRetain + /// + /// + /// The number of Iceberg snapshots to retain within the retention period. If an input + /// is not provided, the corresponding Iceberg table configuration field will be used + /// or if not present, the default value 1 will be used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_NumberOfSnapshotsToRetain")] + public System.Int32? IcebergConfiguration_NumberOfSnapshotsToRetain { get; set; } + #endregion + + #region Parameter IcebergConfiguration_OrphanFileRetentionPeriodInDay + /// + /// + /// The number of days that orphan files should be retained before file deletion. If an + /// input is not provided, the default value 3 will be used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_OrphanFileRetentionPeriodInDays")] + public System.Int32? IcebergConfiguration_OrphanFileRetentionPeriodInDay { get; set; } + #endregion + #region Parameter TableOptimizerConfiguration_RoleArn /// /// @@ -97,6 +146,19 @@ public partial class UpdateGLUETableOptimizerCmdlet : AmazonGlueClientCmdlet, IE public System.String TableOptimizerConfiguration_RoleArn { get; set; } #endregion + #region Parameter IcebergConfiguration_SnapshotRetentionPeriodInDay + /// + /// + /// The number of days to retain the Iceberg snapshots. If an input is not provided, the + /// corresponding Iceberg table configuration field will be used or if not present, the + /// default value 5 will be used. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_SnapshotRetentionPeriodInDays")] + public System.Int32? IcebergConfiguration_SnapshotRetentionPeriodInDay { get; set; } + #endregion + #region Parameter TableName /// /// @@ -194,6 +256,11 @@ protected override void ProcessRecord() } #endif context.TableOptimizerConfiguration_Enabled = this.TableOptimizerConfiguration_Enabled; + context.IcebergConfiguration_Location = this.IcebergConfiguration_Location; + context.IcebergConfiguration_OrphanFileRetentionPeriodInDay = this.IcebergConfiguration_OrphanFileRetentionPeriodInDay; + context.IcebergConfiguration_CleanExpiredFile = this.IcebergConfiguration_CleanExpiredFile; + context.IcebergConfiguration_NumberOfSnapshotsToRetain = this.IcebergConfiguration_NumberOfSnapshotsToRetain; + context.IcebergConfiguration_SnapshotRetentionPeriodInDay = this.IcebergConfiguration_SnapshotRetentionPeriodInDay; context.TableOptimizerConfiguration_RoleArn = this.TableOptimizerConfiguration_RoleArn; context.Type = this.Type; #if MODULAR @@ -253,6 +320,116 @@ public object Execute(ExecutorContext context) { request.TableOptimizerConfiguration.RoleArn = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RoleArn; requestTableOptimizerConfigurationIsNull = false; + } + Amazon.Glue.Model.OrphanFileDeletionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration = null; + + // populate OrphanFileDeletionConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration = new Amazon.Glue.Model.OrphanFileDeletionConfiguration(); + Amazon.Glue.Model.IcebergOrphanFileDeletionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration = null; + + // populate IcebergConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration = new Amazon.Glue.Model.IcebergOrphanFileDeletionConfiguration(); + System.String requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location = null; + if (cmdletContext.IcebergConfiguration_Location != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location = cmdletContext.IcebergConfiguration_Location; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration.Location = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_Location; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull = false; + } + System.Int32? requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay = null; + if (cmdletContext.IcebergConfiguration_OrphanFileRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay = cmdletContext.IcebergConfiguration_OrphanFileRetentionPeriodInDay.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration.OrphanFileRetentionPeriodInDays = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration_icebergConfiguration_OrphanFileRetentionPeriodInDay.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration.IcebergConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration_IcebergConfiguration; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration != null) + { + request.TableOptimizerConfiguration.OrphanFileDeletionConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_OrphanFileDeletionConfiguration; + requestTableOptimizerConfigurationIsNull = false; + } + Amazon.Glue.Model.RetentionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration = null; + + // populate RetentionConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration = new Amazon.Glue.Model.RetentionConfiguration(); + Amazon.Glue.Model.IcebergRetentionConfiguration requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration = null; + + // populate IcebergConfiguration + var requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = true; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration = new Amazon.Glue.Model.IcebergRetentionConfiguration(); + System.Boolean? requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile = null; + if (cmdletContext.IcebergConfiguration_CleanExpiredFile != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile = cmdletContext.IcebergConfiguration_CleanExpiredFile.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration.CleanExpiredFiles = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_CleanExpiredFile.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = false; + } + System.Int32? requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain = null; + if (cmdletContext.IcebergConfiguration_NumberOfSnapshotsToRetain != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain = cmdletContext.IcebergConfiguration_NumberOfSnapshotsToRetain.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration.NumberOfSnapshotsToRetain = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_NumberOfSnapshotsToRetain.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = false; + } + System.Int32? requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay = null; + if (cmdletContext.IcebergConfiguration_SnapshotRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay = cmdletContext.IcebergConfiguration_SnapshotRetentionPeriodInDay.Value; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration.SnapshotRetentionPeriodInDays = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration_icebergConfiguration_SnapshotRetentionPeriodInDay.Value; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration != null) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration.IcebergConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration_tableOptimizerConfiguration_RetentionConfiguration_IcebergConfiguration; + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfigurationIsNull = false; + } + // determine if requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration should be set to null + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfigurationIsNull) + { + requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration = null; + } + if (requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration != null) + { + request.TableOptimizerConfiguration.RetentionConfiguration = requestTableOptimizerConfiguration_tableOptimizerConfiguration_RetentionConfiguration; + requestTableOptimizerConfigurationIsNull = false; } // determine if request.TableOptimizerConfiguration should be set to null if (requestTableOptimizerConfigurationIsNull) @@ -328,6 +505,11 @@ internal partial class CmdletContext : ExecutorContext public System.String DatabaseName { get; set; } public System.String TableName { get; set; } public System.Boolean? TableOptimizerConfiguration_Enabled { get; set; } + public System.String IcebergConfiguration_Location { get; set; } + public System.Int32? IcebergConfiguration_OrphanFileRetentionPeriodInDay { get; set; } + public System.Boolean? IcebergConfiguration_CleanExpiredFile { get; set; } + public System.Int32? IcebergConfiguration_NumberOfSnapshotsToRetain { get; set; } + public System.Int32? IcebergConfiguration_SnapshotRetentionPeriodInDay { get; set; } public System.String TableOptimizerConfiguration_RoleArn { get; set; } public Amazon.Glue.TableOptimizerType Type { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/GlueDataBrew/AmazonGlueDataBrewClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/GlueDataBrew/AmazonGlueDataBrewClientCmdlet.cs index b6ed746a7b..40ce5e0cd6 100644 --- a/modules/AWSPowerShell/Cmdlets/GlueDataBrew/AmazonGlueDataBrewClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GlueDataBrew/AmazonGlueDataBrewClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGlueDataBrew CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGlueDataBrewConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Greengrass/AmazonGreengrassClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Greengrass/AmazonGreengrassClientCmdlet.cs index e289fffcbe..6fd964a59d 100644 --- a/modules/AWSPowerShell/Cmdlets/Greengrass/AmazonGreengrassClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Greengrass/AmazonGreengrassClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGreengrass CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGreengrassConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/GreengrassV2/AmazonGreengrassV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/GreengrassV2/AmazonGreengrassV2ClientCmdlet.cs index 98b458f6c9..2c4e92b85d 100644 --- a/modules/AWSPowerShell/Cmdlets/GreengrassV2/AmazonGreengrassV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GreengrassV2/AmazonGreengrassV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGreengrassV2 CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGreengrassV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/GroundStation/AmazonGroundStationClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/GroundStation/AmazonGroundStationClientCmdlet.cs index 4bb30e22de..a200d4349b 100644 --- a/modules/AWSPowerShell/Cmdlets/GroundStation/AmazonGroundStationClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GroundStation/AmazonGroundStationClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGroundStation CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGroundStationConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/AWS.Tools.GuardDuty.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/GuardDuty/AWS.Tools.GuardDuty.Completers.psm1 index 3746d93593..0669a63866 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/AWS.Tools.GuardDuty.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/AWS.Tools.GuardDuty.Completers.psm1 @@ -135,6 +135,13 @@ $GD_Completers = { break } + # Amazon.GuardDuty.GroupByType + "Get-GDFindingStatistic/GroupBy" + { + $v = "ACCOUNT","DATE","FINDING_TYPE","RESOURCE","SEVERITY" + break + } + # Amazon.GuardDuty.IpSetFormat "New-GDIPSet/Format" { @@ -153,7 +160,10 @@ $GD_Completers = { } # Amazon.GuardDuty.OrderBy - "Get-GDCoverageList/SortCriteria_OrderBy" + { + ($_ -eq "Get-GDFindingStatistic/OrderBy") -Or + ($_ -eq "Get-GDCoverageList/SortCriteria_OrderBy") + } { $v = "ASC","DESC" break @@ -189,6 +199,8 @@ $GD_map = @{ "Feedback"=@("Update-GDFindingFeedback") "FindingPublishingFrequency"=@("New-GDDetector","Update-GDDetector") "Format"=@("New-GDIPSet","New-GDThreatIntelSet") + "GroupBy"=@("Get-GDFindingStatistic") + "OrderBy"=@("Get-GDFindingStatistic") "SortCriteria_AttributeName"=@("Get-GDCoverageList") "SortCriteria_OrderBy"=@("Get-GDCoverageList") "Tagging_Status"=@("New-GDMalwareProtectionPlan","Update-GDMalwareProtectionPlan") diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/AmazonGuardDutyClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/AmazonGuardDutyClientCmdlet.cs index 3ce0cda786..c86eda5869 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/AmazonGuardDutyClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/AmazonGuardDutyClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonGuardDuty CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonGuardDutyConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDCoverageStatistic-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDCoverageStatistic-Cmdlet.cs index 00aa6e2970..d80625b608 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDCoverageStatistic-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDCoverageStatistic-Cmdlet.cs @@ -48,7 +48,7 @@ public partial class GetGDCoverageStatisticCmdlet : AmazonGuardDutyClientCmdlet, #region Parameter DetectorId /// /// - /// The unique ID of the GuardDuty detector associated to the coverage statistics. + /// The unique ID of the GuardDuty detector. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDDetector-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDDetector-Cmdlet.cs index 5cad568dd9..4ba015c494 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDDetector-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDDetector-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.GD { /// - /// Retrieves an Amazon GuardDuty detector specified by the detectorId. + /// Retrieves a GuardDuty detector specified by the detectorId. /// /// /// diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilter-Cmdlet.cs index 58e355a740..af24a45b41 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilter-Cmdlet.cs @@ -44,7 +44,7 @@ public partial class GetGDFilterCmdlet : AmazonGuardDutyClientCmdlet, IExecutor #region Parameter DetectorId /// /// - /// The unique ID of the detector that the filter is associated with. + /// The unique ID of the detector that is associated with this filter. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilterList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilterList-Cmdlet.cs index f976e2fd7c..1d9c0398da 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilterList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFilterList-Cmdlet.cs @@ -45,7 +45,7 @@ public partial class GetGDFilterListCmdlet : AmazonGuardDutyClientCmdlet, IExecu #region Parameter DetectorId /// /// - /// The unique ID of the detector that the filter is associated with. + /// The unique ID of the detector that is associated with the filter. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingList-Cmdlet.cs index 0ffbabf4c3..d2e5a413b1 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingList-Cmdlet.cs @@ -72,7 +72,7 @@ public partial class GetGDFindingListCmdlet : AmazonGuardDutyClientCmdlet, IExec /// /// Represents the criteria used for querying findings. Valid values include:
    • JSON field name
    • accountId
    • region
    • confidence
    • id
    • resource.accessKeyDetails.accessKeyId
    • resource.accessKeyDetails.principalId
    • resource.accessKeyDetails.userName
    • resource.accessKeyDetails.userType
    • resource.instanceDetails.iamInstanceProfile.id
    • resource.instanceDetails.imageId
    • resource.instanceDetails.instanceId
    • resource.instanceDetails.networkInterfaces.ipv6Addresses
    • resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
    • resource.instanceDetails.networkInterfaces.publicDnsName
    • resource.instanceDetails.networkInterfaces.publicIp
    • resource.instanceDetails.networkInterfaces.securityGroups.groupId
    • resource.instanceDetails.networkInterfaces.securityGroups.groupName
    • resource.instanceDetails.networkInterfaces.subnetId
    • resource.instanceDetails.networkInterfaces.vpcId
    • resource.instanceDetails.tags.key
    • resource.instanceDetails.tags.value
    • resource.resourceType
    • service.action.actionType
    • service.action.awsApiCallAction.api
    • service.action.awsApiCallAction.callerType
    • service.action.awsApiCallAction.remoteIpDetails.city.cityName
    • service.action.awsApiCallAction.remoteIpDetails.country.countryName
    • service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
    • service.action.awsApiCallAction.remoteIpDetails.organization.asn
    • service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg
    • service.action.awsApiCallAction.serviceName
    • service.action.dnsRequestAction.domain
    • service.action.dnsRequestAction.domainWithSuffix
    • service.action.networkConnectionAction.blocked
    • service.action.networkConnectionAction.connectionDirection
    • service.action.networkConnectionAction.localPortDetails.port
    • service.action.networkConnectionAction.protocol
    • service.action.networkConnectionAction.remoteIpDetails.country.countryName
    • service.action.networkConnectionAction.remoteIpDetails.ipAddressV4
    • service.action.networkConnectionAction.remoteIpDetails.organization.asn
    • service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg
    • service.action.networkConnectionAction.remotePortDetails.port
    • service.additionalInfo.threatListName
    • service.archivedWhen this attribute is set to 'true', only archived findings are listed. When it's /// set to 'false', only unarchived findings are listed. When this attribute is not set, - /// all existing findings are listed.
    • service.resourceRole
    • severity
    • type
    • updatedAtType: Timestamp in Unix Epoch millisecond format: 1486685375000
    + /// all existing findings are listed.
  • service.ebsVolumeScanDetails.scanId
  • service.resourceRole
  • severity
  • type
  • updatedAtType: Timestamp in Unix Epoch millisecond format: 1486685375000
  • /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingStatistic-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingStatistic-Cmdlet.cs index 477eaad0c5..35a6f1ecf2 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingStatistic-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDFindingStatistic-Cmdlet.cs @@ -28,10 +28,14 @@ namespace Amazon.PowerShell.Cmdlets.GD { /// - /// Lists Amazon GuardDuty findings statistics for the specified detector ID. + /// Lists GuardDuty findings statistics for the specified detector ID. /// /// /// + /// You must provide either findingStatisticTypes or groupBy parameter, + /// and not both. You can use the maxResults and orderBy parameters only + /// when using groupBy. + /// /// There might be regional differences because some flags might not be available in all /// the Regions where GuardDuty is currently supported. For more information, see Regions /// and endpoints. @@ -52,8 +56,7 @@ public partial class GetGDFindingStatisticCmdlet : AmazonGuardDutyClientCmdlet, #region Parameter DetectorId /// /// - /// The ID of the detector that specifies the GuardDuty service whose findings' statistics - /// you want to retrieve. + /// The ID of the detector whose findings statistics you want to retrieve. /// /// #if !MODULAR @@ -78,24 +81,54 @@ public partial class GetGDFindingStatisticCmdlet : AmazonGuardDutyClientCmdlet, public Amazon.GuardDuty.Model.FindingCriteria FindingCriterion { get; set; } #endregion + #region Parameter GroupBy + /// + /// + /// Displays the findings statistics grouped by one of the listed valid values. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.GuardDuty.GroupByType")] + public Amazon.GuardDuty.GroupByType GroupBy { get; set; } + #endregion + + #region Parameter OrderBy + /// + /// + /// Displays the sorted findings in the requested order. The default value of orderBy + /// is DESC.You can use this parameter only with the groupBy parameter. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.GuardDuty.OrderBy")] + public Amazon.GuardDuty.OrderBy OrderBy { get; set; } + #endregion + #region Parameter FindingStatisticType /// /// /// The types of finding statistics to retrieve. /// + /// This parameter is deprecated. /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyCollection] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] + [System.ObsoleteAttribute("This parameter is deprecated, please use GroupBy instead")] [Alias("FindingStatisticTypes")] public System.String[] FindingStatisticType { get; set; } #endregion + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned in the response. The default value is + /// 25.You can use this parameter only with the groupBy parameter. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'FindingStatistics'. @@ -150,16 +183,15 @@ protected override void ProcessRecord() } #endif context.FindingCriterion = this.FindingCriterion; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (this.FindingStatisticType != null) { context.FindingStatisticType = new List(this.FindingStatisticType); } - #if MODULAR - if (this.FindingStatisticType == null && ParameterWasBound(nameof(this.FindingStatisticType))) - { - WriteWarning("You are passing $null as a value for parameter FindingStatisticType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.GroupBy = this.GroupBy; + context.MaxResult = this.MaxResult; + context.OrderBy = this.OrderBy; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -184,10 +216,24 @@ public object Execute(ExecutorContext context) { request.FindingCriteria = cmdletContext.FindingCriterion; } + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.FindingStatisticType != null) { request.FindingStatisticTypes = cmdletContext.FindingStatisticType; } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (cmdletContext.GroupBy != null) + { + request.GroupBy = cmdletContext.GroupBy; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.OrderBy != null) + { + request.OrderBy = cmdletContext.OrderBy; + } CmdletOutput output; @@ -251,7 +297,11 @@ internal partial class CmdletContext : ExecutorContext { public System.String DetectorId { get; set; } public Amazon.GuardDuty.Model.FindingCriteria FindingCriterion { get; set; } + [System.ObsoleteAttribute] public List FindingStatisticType { get; set; } + public Amazon.GuardDuty.GroupByType GroupBy { get; set; } + public System.Int32? MaxResult { get; set; } + public Amazon.GuardDuty.OrderBy OrderBy { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.FindingStatistics; } diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSet-Cmdlet.cs index 1d22517cd0..a69874af15 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSet-Cmdlet.cs @@ -44,7 +44,7 @@ public partial class GetGDIPSetCmdlet : AmazonGuardDutyClientCmdlet, IExecutor #region Parameter DetectorId /// /// - /// The unique ID of the detector that the IPSet is associated with. + /// The unique ID of the detector that is associated with the IPSet. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSetList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSetList-Cmdlet.cs index c76b7ddeeb..7e2bd4736e 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSetList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDIPSetList-Cmdlet.cs @@ -47,7 +47,7 @@ public partial class GetGDIPSetListCmdlet : AmazonGuardDutyClientCmdlet, IExecut #region Parameter DetectorId /// /// - /// The unique ID of the detector that the IPSet is associated with. + /// The unique ID of the detector that is associated with IPSet. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMalwareScanSetting-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMalwareScanSetting-Cmdlet.cs index 295c773972..f092c155d8 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMalwareScanSetting-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMalwareScanSetting-Cmdlet.cs @@ -52,7 +52,7 @@ public partial class GetGDMalwareScanSettingCmdlet : AmazonGuardDutyClientCmdlet #region Parameter DetectorId /// /// - /// The unique ID of the detector that the scan setting is associated with. + /// The unique ID of the detector that is associated with this scan. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberDetector-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberDetector-Cmdlet.cs index a88fe128a7..4dc59aa293 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberDetector-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberDetector-Cmdlet.cs @@ -52,7 +52,7 @@ public partial class GetGDMemberDetectorCmdlet : AmazonGuardDutyClientCmdlet, IE #region Parameter AccountId /// /// - /// The account ID of the member account. + /// A list of member account IDs. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberList-Cmdlet.cs index b2a7a4ec5b..8fedb912a7 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDMemberList-Cmdlet.cs @@ -47,7 +47,7 @@ public partial class GetGDMemberListCmdlet : AmazonGuardDutyClientCmdlet, IExecu #region Parameter DetectorId /// /// - /// The unique ID of the detector the member is associated with. + /// The unique ID of the detector that is associated with the member. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDOrganizationConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDOrganizationConfiguration-Cmdlet.cs index 5cd17d256d..9cd2c21af4 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDOrganizationConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDOrganizationConfiguration-Cmdlet.cs @@ -53,7 +53,8 @@ public partial class GetGDOrganizationConfigurationCmdlet : AmazonGuardDutyClien #region Parameter DetectorId /// /// - /// The ID of the detector to retrieve information about the delegated administrator from. + /// The detector ID of the delegated administrator for which you need to retrieve the + /// information. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDPublishingDestinationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDPublishingDestinationList-Cmdlet.cs index 10916cacce..2467fa6ef3 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDPublishingDestinationList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDPublishingDestinationList-Cmdlet.cs @@ -45,7 +45,7 @@ public partial class GetGDPublishingDestinationListCmdlet : AmazonGuardDutyClien #region Parameter DetectorId /// /// - /// The ID of the detector to retrieve publishing destinations for. + /// The detector ID for which you want to retrieve the publishing destination. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSet-Cmdlet.cs index da22ace2a1..4fc6fb2472 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSet-Cmdlet.cs @@ -44,7 +44,7 @@ public partial class GetGDThreatIntelSetCmdlet : AmazonGuardDutyClientCmdlet, IE #region Parameter DetectorId /// /// - /// The unique ID of the detector that the threatIntelSet is associated with. + /// The unique ID of the detector that is associated with the threatIntelSet. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSetList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSetList-Cmdlet.cs index ec2ec00a04..66bac51fea 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSetList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Get-GDThreatIntelSetList-Cmdlet.cs @@ -47,7 +47,7 @@ public partial class GetGDThreatIntelSetListCmdlet : AmazonGuardDutyClientCmdlet #region Parameter DetectorId /// /// - /// The unique ID of the detector that the threatIntelSet is associated with. + /// The unique ID of the detector that is associated with the threatIntelSet. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDFilter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDFilter-Cmdlet.cs index 98bc435970..fb656e1207 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDFilter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDFilter-Cmdlet.cs @@ -72,8 +72,8 @@ public partial class NewGDFilterCmdlet : AmazonGuardDutyClientCmdlet, IExecutor #region Parameter DetectorId /// /// - /// The ID of the detector belonging to the GuardDuty account that you want to create - /// a filter for. + /// The detector ID associated with the GuardDuty account for which you want to create + /// a filter. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDIPSet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDIPSet-Cmdlet.cs index 3dadfaed95..e5c79e3dfe 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDIPSet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDIPSet-Cmdlet.cs @@ -65,8 +65,8 @@ public partial class NewGDIPSetCmdlet : AmazonGuardDutyClientCmdlet, IExecutor #region Parameter DetectorId /// /// - /// The unique ID of the detector of the GuardDuty account that you want to create an - /// IPSet for. + /// The unique ID of the detector of the GuardDuty account for which you want to create + /// an IPSet. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMalwareProtectionPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMalwareProtectionPlan-Cmdlet.cs index c8f1b60d96..8ddd55c933 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMalwareProtectionPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMalwareProtectionPlan-Cmdlet.cs @@ -75,8 +75,8 @@ public partial class NewGDMalwareProtectionPlanCmdlet : AmazonGuardDutyClientCmd #region Parameter Role /// /// - /// IAM role with permissions required to scan and add tags to the associated protected - /// resource. + /// Amazon Resource Name (ARN) of the IAM role that has the permissions to scan and add + /// tags to the associated protected resource. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMember-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMember-Cmdlet.cs index 3d12407599..1cd1302c72 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMember-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDMember-Cmdlet.cs @@ -93,8 +93,8 @@ public partial class NewGDMemberCmdlet : AmazonGuardDutyClientCmdlet, IExecutor #region Parameter DetectorId /// /// - /// The unique ID of the detector of the GuardDuty account that you want to associate - /// member accounts with. + /// The unique ID of the detector of the GuardDuty account for which you want to associate + /// member accounts. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDPublishingDestination-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDPublishingDestination-Cmdlet.cs index 0aea17df49..62273daf9f 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDPublishingDestination-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDPublishingDestination-Cmdlet.cs @@ -28,8 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.GD { /// - /// Creates a publishing destination to export findings to. The resource to export findings - /// to must exist before you use this operation. + /// Creates a publishing destination where you can export your GuardDuty findings. Before + /// you start exporting the findings, the destination resource must exist. /// [Cmdlet("New", "GDPublishingDestination", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("System.String")] diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDSampleFinding-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDSampleFinding-Cmdlet.cs index 066ce83349..8a5cd022df 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDSampleFinding-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDSampleFinding-Cmdlet.cs @@ -47,7 +47,7 @@ public partial class NewGDSampleFindingCmdlet : AmazonGuardDutyClientCmdlet, IEx #region Parameter DetectorId /// /// - /// The ID of the detector to create sample findings for. + /// The ID of the detector for which you need to create sample findings. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDThreatIntelSet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDThreatIntelSet-Cmdlet.cs index 24cd5af02e..78bcf5031a 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDThreatIntelSet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/New-GDThreatIntelSet-Cmdlet.cs @@ -63,8 +63,8 @@ public partial class NewGDThreatIntelSetCmdlet : AmazonGuardDutyClientCmdlet, IE #region Parameter DetectorId /// /// - /// The unique ID of the detector of the GuardDuty account that you want to create a threatIntelSet - /// for. + /// The unique ID of the detector of the GuardDuty account for which you want to create + /// a ThreatIntelSet. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDFilter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDFilter-Cmdlet.cs index 7a3b0a37fc..bcfbbd2653 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDFilter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDFilter-Cmdlet.cs @@ -45,7 +45,7 @@ public partial class RemoveGDFilterCmdlet : AmazonGuardDutyClientCmdlet, IExecut #region Parameter DetectorId /// /// - /// The unique ID of the detector that the filter is associated with. + /// The unique ID of the detector that is associated with the filter. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDThreatIntelSet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDThreatIntelSet-Cmdlet.cs index ef80db7c0a..4cd2e96278 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDThreatIntelSet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Remove-GDThreatIntelSet-Cmdlet.cs @@ -45,7 +45,7 @@ public partial class RemoveGDThreatIntelSetCmdlet : AmazonGuardDutyClientCmdlet, #region Parameter DetectorId /// /// - /// The unique ID of the detector that the threatIntelSet is associated with. + /// The unique ID of the detector that is associated with the threatIntelSet. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Send-GDMemberInvitation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Send-GDMemberInvitation-Cmdlet.cs index 04fcb90091..7867f029bd 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Send-GDMemberInvitation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Send-GDMemberInvitation-Cmdlet.cs @@ -99,8 +99,8 @@ public partial class SendGDMemberInvitationCmdlet : AmazonGuardDutyClientCmdlet, #region Parameter DetectorId /// /// - /// The unique ID of the detector of the GuardDuty account that you want to invite members - /// with. + /// The unique ID of the detector of the GuardDuty account with which you want to invite + /// members. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDFindingFeedback-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDFindingFeedback-Cmdlet.cs index 1a8c9db17c..d43de34b03 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDFindingFeedback-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDFindingFeedback-Cmdlet.cs @@ -56,7 +56,8 @@ public partial class UpdateGDFindingFeedbackCmdlet : AmazonGuardDutyClientCmdlet #region Parameter DetectorId /// /// - /// The ID of the detector associated with the findings to update feedback for. + /// The ID of the detector that is associated with the findings for which you want to + /// update the feedback. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDMalwareProtectionPlan-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDMalwareProtectionPlan-Cmdlet.cs index 7445e951dd..240aed159b 100644 --- a/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDMalwareProtectionPlan-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/GuardDuty/Basic/Update-GDMalwareProtectionPlan-Cmdlet.cs @@ -74,8 +74,8 @@ public partial class UpdateGDMalwareProtectionPlanCmdlet : AmazonGuardDutyClient #region Parameter Role /// /// - /// IAM role with permissions required to scan and add tags to the associated protected - /// resource. + /// Amazon Resource Name (ARN) of the IAM role with permissions to scan and add tags to + /// the associated protected resource. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/HealthLake/AmazonHealthLakeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/HealthLake/AmazonHealthLakeClientCmdlet.cs index 963af7542c..2d0eadff7e 100644 --- a/modules/AWSPowerShell/Cmdlets/HealthLake/AmazonHealthLakeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/HealthLake/AmazonHealthLakeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonHealthLake CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonHealthLakeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IAMRolesAnywhere/AmazonIAMRolesAnywhereClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IAMRolesAnywhere/AmazonIAMRolesAnywhereClientCmdlet.cs index fe07ad5062..5cbfce5e36 100644 --- a/modules/AWSPowerShell/Cmdlets/IAMRolesAnywhere/AmazonIAMRolesAnywhereClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IAMRolesAnywhere/AmazonIAMRolesAnywhereClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIAMRolesAnywhere CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIAMRolesAnywhereConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IVS/AmazonIVSClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/AmazonIVSClientCmdlet.cs index 8d51cc56a8..11cad9458b 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/AmazonIVSClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/AmazonIVSClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIVS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIVSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IVS/Basic/Add-IVSResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/Basic/Add-IVSResourceTag-Cmdlet.cs index 83990e60b2..b699b4949d 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/Basic/Add-IVSResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/Basic/Add-IVSResourceTag-Cmdlet.cs @@ -63,10 +63,11 @@ public partial class AddIVSResourceTagCmdlet : AmazonIVSClientCmdlet, IExecutor /// /// /// Array of tags to be added or updated. Array of maps, each of the form string:string - /// (key:value). See Tagging - /// Amazon Web Services Resources for more information, including restrictions that - /// apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific - /// constraints beyond what is documented there. + /// (key:value). See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS has no service-specific constraints beyond what is documented + /// there. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/IVS/Basic/Import-IVSPlaybackKeyPair-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/Basic/Import-IVSPlaybackKeyPair-Cmdlet.cs index ea5aa9a7c0..4eb06ae809 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/Basic/Import-IVSPlaybackKeyPair-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/Basic/Import-IVSPlaybackKeyPair-Cmdlet.cs @@ -75,10 +75,11 @@ public partial class ImportIVSPlaybackKeyPairCmdlet : AmazonIVSClientCmdlet, IEx #region Parameter Tag /// /// - /// Any tags provided with the request are added to the playback key pair tags. See Tagging Amazon - /// Web Services Resources for more information, including restrictions that apply - /// to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific - /// constraints beyond what is documented there. + /// Any tags provided with the request are added to the playback key pair tags. See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS has no service-specific constraints beyond what is documented + /// there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSChannel-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSChannel-Cmdlet.cs index b6274ea6c7..4a891f2ea6 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSChannel-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSChannel-Cmdlet.cs @@ -125,10 +125,11 @@ public partial class NewIVSChannelCmdlet : AmazonIVSClientCmdlet, IExecutor #region Parameter Tag /// /// - /// Array of 1-50 maps, each of the form string:string (key:value). See Tagging - /// Amazon Web Services Resources for more information, including restrictions that - /// apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific - /// constraints beyond what is documented there. + /// Array of 1-50 maps, each of the form string:string (key:value). See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS has no service-specific constraints beyond what is documented + /// there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSPlaybackRestrictionPolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSPlaybackRestrictionPolicy-Cmdlet.cs index e3c05d07af..434574ba16 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSPlaybackRestrictionPolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSPlaybackRestrictionPolicy-Cmdlet.cs @@ -92,10 +92,11 @@ public partial class NewIVSPlaybackRestrictionPolicyCmdlet : AmazonIVSClientCmdl #region Parameter Tag /// /// - /// Array of 1-50 maps, each of the form string:string (key:value). See Tagging - /// Amazon Web Services Resources for more information, including restrictions that - /// apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific - /// constraints beyond what is documented there. + /// Array of 1-50 maps, each of the form string:string (key:value). See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS has no service-specific constraints beyond what is documented + /// there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSRecordingConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSRecordingConfiguration-Cmdlet.cs index 5c040ecdd6..7386766f4e 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSRecordingConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSRecordingConfiguration-Cmdlet.cs @@ -160,10 +160,11 @@ public partial class NewIVSRecordingConfigurationCmdlet : AmazonIVSClientCmdlet, #region Parameter Tag /// /// - /// Array of 1-50 maps, each of the form string:string (key:value). See Tagging - /// Amazon Web Services Resources for more information, including restrictions that - /// apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific - /// constraints beyond what is documented there. + /// Array of 1-50 maps, each of the form string:string (key:value). See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS has no service-specific constraints beyond what is documented + /// there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSStreamKey-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSStreamKey-Cmdlet.cs index 1c22b6e04b..b382c193fb 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSStreamKey-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/Basic/New-IVSStreamKey-Cmdlet.cs @@ -72,10 +72,11 @@ public partial class NewIVSStreamKeyCmdlet : AmazonIVSClientCmdlet, IExecutor #region Parameter Tag /// /// - /// Array of 1-50 maps, each of the form string:string (key:value). See Tagging - /// Amazon Web Services Resources for more information, including restrictions that - /// apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific - /// constraints beyond what is documented there. + /// Array of 1-50 maps, each of the form string:string (key:value). See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS has no service-specific constraints beyond what is documented + /// there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVS/Basic/Remove-IVSResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVS/Basic/Remove-IVSResourceTag-Cmdlet.cs index b4f2825bee..293f4e7437 100644 --- a/modules/AWSPowerShell/Cmdlets/IVS/Basic/Remove-IVSResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVS/Basic/Remove-IVSResourceTag-Cmdlet.cs @@ -63,10 +63,11 @@ public partial class RemoveIVSResourceTagCmdlet : AmazonIVSClientCmdlet, IExecut /// /// /// Array of tags to be removed. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// Amazon Web Services Resources for more information, including restrictions that - /// apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific - /// constraints beyond what is documented there. + /// See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS has no service-specific constraints beyond what is documented + /// there. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.Completers.psm1 index fb590011e7..76b521759e 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.Completers.psm1 @@ -80,6 +80,20 @@ $IVSRT_Completers = { switch ($("$commandName/$parameterName")) { + # Amazon.IVSRealTime.IngestConfigurationState + "Get-IVSRTIngestConfigurationList/FilterByState" + { + $v = "ACTIVE","INACTIVE" + break + } + + # Amazon.IVSRealTime.IngestProtocol + "New-IVSRTIngestConfiguration/IngestProtocol" + { + $v = "RTMP","RTMPS" + break + } + # Amazon.IVSRealTime.ParticipantRecordingFilterByRecordingState "Get-IVSRTParticipantList/FilterByRecordingState" { @@ -135,9 +149,10 @@ $IVSRT_Completers = { $IVSRT_map = @{ "FilterByRecordingState"=@("Get-IVSRTParticipantList") - "FilterByState"=@("Get-IVSRTParticipantList") + "FilterByState"=@("Get-IVSRTIngestConfigurationList","Get-IVSRTParticipantList") "Grid_VideoAspectRatio"=@("Start-IVSRTComposition") "Grid_VideoFillMode"=@("Start-IVSRTComposition") + "IngestProtocol"=@("New-IVSRTIngestConfiguration") "Pip_PipBehavior"=@("Start-IVSRTComposition") "Pip_PipPosition"=@("Start-IVSRTComposition") "Pip_VideoFillMode"=@("Start-IVSRTComposition") @@ -194,16 +209,19 @@ $IVSRT_SelectCompleters = { $IVSRT_SelectMap = @{ "Select"=@("New-IVSRTEncoderConfiguration", + "New-IVSRTIngestConfiguration", "New-IVSRTParticipantToken", "New-IVSRTStage", "New-IVSRTStorageConfiguration", "Remove-IVSRTEncoderConfiguration", + "Remove-IVSRTIngestConfiguration", "Remove-IVSRTPublicKey", "Remove-IVSRTStage", "Remove-IVSRTStorageConfiguration", "Disconnect-IVSRTParticipant", "Get-IVSRTComposition", "Get-IVSRTEncoderConfiguration", + "Get-IVSRTIngestConfiguration", "Get-IVSRTParticipant", "Get-IVSRTPublicKey", "Get-IVSRTStage", @@ -212,6 +230,7 @@ $IVSRT_SelectMap = @{ "Import-IVSRTPublicKey", "Get-IVSRTCompositionList", "Get-IVSRTEncoderConfigurationList", + "Get-IVSRTIngestConfigurationList", "Get-IVSRTParticipantEventList", "Get-IVSRTParticipantList", "Get-IVSRTPublicKeyList", @@ -223,6 +242,7 @@ $IVSRT_SelectMap = @{ "Stop-IVSRTComposition", "Add-IVSRTResourceTag", "Remove-IVSRTResourceTag", + "Update-IVSRTIngestConfiguration", "Update-IVSRTStage") } diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.psd1 b/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.psd1 index 37c36652c6..53bc2e9d69 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.psd1 +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/AWS.Tools.IVSRealTime.psd1 @@ -92,6 +92,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-IVSRTCompositionList', 'Get-IVSRTEncoderConfiguration', 'Get-IVSRTEncoderConfigurationList', + 'Get-IVSRTIngestConfiguration', + 'Get-IVSRTIngestConfigurationList', 'Get-IVSRTParticipant', 'Get-IVSRTParticipantEventList', 'Get-IVSRTParticipantList', @@ -106,16 +108,19 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-IVSRTStorageConfigurationList', 'Import-IVSRTPublicKey', 'New-IVSRTEncoderConfiguration', + 'New-IVSRTIngestConfiguration', 'New-IVSRTParticipantToken', 'New-IVSRTStage', 'New-IVSRTStorageConfiguration', 'Remove-IVSRTEncoderConfiguration', + 'Remove-IVSRTIngestConfiguration', 'Remove-IVSRTPublicKey', 'Remove-IVSRTResourceTag', 'Remove-IVSRTStage', 'Remove-IVSRTStorageConfiguration', 'Start-IVSRTComposition', 'Stop-IVSRTComposition', + 'Update-IVSRTIngestConfiguration', 'Update-IVSRTStage') # Variables to export from this module diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/AmazonIVSRealTimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/AmazonIVSRealTimeClientCmdlet.cs index c97597e363..1a5220bbde 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/AmazonIVSRealTimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/AmazonIVSRealTimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIVSRealTime CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIVSRealTimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Add-IVSRTResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Add-IVSRTResourceTag-Cmdlet.cs index 290a654a4a..905005f506 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Add-IVSRTResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Add-IVSRTResourceTag-Cmdlet.cs @@ -63,10 +63,10 @@ public partial class AddIVSRTResourceTagCmdlet : AmazonIVSRealTimeClientCmdlet, /// /// /// Array of tags to be added or updated. Array of maps, each of the form string:string - /// (key:value). See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS has no constraints beyond what is documented - /// there. + /// (key:value). See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Disconnect-IVSRTParticipant-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Disconnect-IVSRTParticipant-Cmdlet.cs index c1d715c916..3757b40809 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Disconnect-IVSRTParticipant-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Disconnect-IVSRTParticipant-Cmdlet.cs @@ -28,8 +28,9 @@ namespace Amazon.PowerShell.Cmdlets.IVSRT { /// - /// Disconnects a specified participant and revokes the participant permanently from a - /// specified stage. + /// Disconnects a specified participant from a specified stage. If the participant is + /// publishing using an IngestConfiguration, DisconnectParticipant also updates + /// the stageArn in the IngestConfiguration to be an empty string. /// [Cmdlet("Disconnect", "IVSRTParticipant", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] @@ -46,8 +47,9 @@ public partial class DisconnectIVSRTParticipantCmdlet : AmazonIVSRealTimeClientC #region Parameter ParticipantId /// /// - /// Identifier of the participant to be disconnected. This is assigned by IVS and returned - /// by CreateParticipantToken. + /// Identifier of the participant to be disconnected. IVS assigns this; it is returned + /// by CreateParticipantToken (for streams using WebRTC ingest) or CreateIngestConfiguration + /// (for streams using RTMP ingest). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLAuditStreamConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Get-IVSRTIngestConfiguration-Cmdlet.cs similarity index 64% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLAuditStreamConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Get-IVSRTIngestConfiguration-Cmdlet.cs index 6f3ae4d696..4c5ba9c543 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLAuditStreamConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Get-IVSRTIngestConfiguration-Cmdlet.cs @@ -22,31 +22,32 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.IVSRealTime; +using Amazon.IVSRealTime.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.IVSRT { /// - /// Describes the configuration for delivering audit streams to the customer account.

    This operation is deprecated. + /// Gets information about the specified IngestConfiguration. ///
    - [Cmdlet("Get", "WLAuditStreamConfiguration")] - [OutputType("System.String")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeAuditStreamConfiguration API operation.", Operation = new[] {"DescribeAuditStreamConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeAuditStreamConfigurationResponse))] - [AWSCmdletOutput("System.String or Amazon.WorkLink.Model.DescribeAuditStreamConfigurationResponse", - "This cmdlet returns a System.String object.", - "The service call response (type Amazon.WorkLink.Model.DescribeAuditStreamConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "IVSRTIngestConfiguration")] + [OutputType("Amazon.IVSRealTime.Model.IngestConfiguration")] + [AWSCmdlet("Calls the Amazon Interactive Video Service RealTime GetIngestConfiguration API operation.", Operation = new[] {"GetIngestConfiguration"}, SelectReturnType = typeof(Amazon.IVSRealTime.Model.GetIngestConfigurationResponse))] + [AWSCmdletOutput("Amazon.IVSRealTime.Model.IngestConfiguration or Amazon.IVSRealTime.Model.GetIngestConfigurationResponse", + "This cmdlet returns an Amazon.IVSRealTime.Model.IngestConfiguration object.", + "The service call response (type Amazon.IVSRealTime.Model.GetIngestConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLAuditStreamConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetIVSRTIngestConfigurationCmdlet : AmazonIVSRealTimeClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter Arn /// /// - /// The ARN of the fleet. + /// ARN of the ingest for which the information is to be retrieved. /// /// #if !MODULAR @@ -57,26 +58,26 @@ public partial class GetWLAuditStreamConfigurationCmdlet : AmazonWorkLinkClientC [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String Arn { get; set; } #endregion #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'AuditStreamArn'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeAuditStreamConfigurationResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeAuditStreamConfigurationResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is 'IngestConfiguration'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.IVSRealTime.Model.GetIngestConfigurationResponse). + /// Specifying the name of a property of type Amazon.IVSRealTime.Model.GetIngestConfigurationResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "AuditStreamArn"; + public string Select { get; set; } = "IngestConfiguration"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the Arn parameter. + /// The -PassThru parameter is deprecated, use -Select '^Arn' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Arn' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -94,7 +95,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -103,14 +104,14 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.Arn; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.Arn = this.Arn; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.Arn == null && ParameterWasBound(nameof(this.Arn))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter Arn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -127,11 +128,11 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeAuditStreamConfigurationRequest(); + var request = new Amazon.IVSRealTime.Model.GetIngestConfigurationRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.Arn != null) { - request.FleetArn = cmdletContext.FleetArn; + request.Arn = cmdletContext.Arn; } CmdletOutput output; @@ -166,15 +167,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeAuditStreamConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeAuditStreamConfigurationRequest request) + private Amazon.IVSRealTime.Model.GetIngestConfigurationResponse CallAWSServiceOperation(IAmazonIVSRealTime client, Amazon.IVSRealTime.Model.GetIngestConfigurationRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeAuditStreamConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Interactive Video Service RealTime", "GetIngestConfiguration"); try { #if DESKTOP - return client.DescribeAuditStreamConfiguration(request); + return client.GetIngestConfiguration(request); #elif CORECLR - return client.DescribeAuditStreamConfigurationAsync(request).GetAwaiter().GetResult(); + return client.GetIngestConfigurationAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -194,9 +195,9 @@ private Amazon.WorkLink.Model.DescribeAuditStreamConfigurationResponse CallAWSSe internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.AuditStreamArn; + public System.String Arn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.IngestConfiguration; } } diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Get-IVSRTIngestConfigurationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Get-IVSRTIngestConfigurationList-Cmdlet.cs new file mode 100644 index 0000000000..f92242a03d --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Get-IVSRTIngestConfigurationList-Cmdlet.cs @@ -0,0 +1,223 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.IVSRealTime; +using Amazon.IVSRealTime.Model; + +namespace Amazon.PowerShell.Cmdlets.IVSRT +{ + /// + /// Lists all IngestConfigurations in your account, in the AWS region where the API request + /// is processed. + /// + [Cmdlet("Get", "IVSRTIngestConfigurationList")] + [OutputType("Amazon.IVSRealTime.Model.IngestConfigurationSummary")] + [AWSCmdlet("Calls the Amazon Interactive Video Service RealTime ListIngestConfigurations API operation.", Operation = new[] {"ListIngestConfigurations"}, SelectReturnType = typeof(Amazon.IVSRealTime.Model.ListIngestConfigurationsResponse))] + [AWSCmdletOutput("Amazon.IVSRealTime.Model.IngestConfigurationSummary or Amazon.IVSRealTime.Model.ListIngestConfigurationsResponse", + "This cmdlet returns a collection of Amazon.IVSRealTime.Model.IngestConfigurationSummary objects.", + "The service call response (type Amazon.IVSRealTime.Model.ListIngestConfigurationsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetIVSRTIngestConfigurationListCmdlet : AmazonIVSRealTimeClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter FilterByStageArn + /// + /// + /// Filters the response list to match the specified stage ARN. Only one filter (by stage + /// ARN or by state) can be used at a time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String FilterByStageArn { get; set; } + #endregion + + #region Parameter FilterByState + /// + /// + /// Filters the response list to match the specified state. Only one filter (by stage + /// ARN or by state) can be used at a time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.IVSRealTime.IngestConfigurationState")] + public Amazon.IVSRealTime.IngestConfigurationState FilterByState { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// Maximum number of results to return. Default: 50. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The first IngestConfiguration to retrieve. This is used for pagination; see the nextToken + /// response field. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'IngestConfigurations'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.IVSRealTime.Model.ListIngestConfigurationsResponse). + /// Specifying the name of a property of type Amazon.IVSRealTime.Model.ListIngestConfigurationsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "IngestConfigurations"; + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.FilterByStageArn = this.FilterByStageArn; + context.FilterByState = this.FilterByState; + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.IVSRealTime.Model.ListIngestConfigurationsRequest(); + + if (cmdletContext.FilterByStageArn != null) + { + request.FilterByStageArn = cmdletContext.FilterByStageArn; + } + if (cmdletContext.FilterByState != null) + { + request.FilterByState = cmdletContext.FilterByState; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.IVSRealTime.Model.ListIngestConfigurationsResponse CallAWSServiceOperation(IAmazonIVSRealTime client, Amazon.IVSRealTime.Model.ListIngestConfigurationsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Interactive Video Service RealTime", "ListIngestConfigurations"); + try + { + #if DESKTOP + return client.ListIngestConfigurations(request); + #elif CORECLR + return client.ListIngestConfigurationsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String FilterByStageArn { get; set; } + public Amazon.IVSRealTime.IngestConfigurationState FilterByState { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.IngestConfigurations; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Import-IVSRTPublicKey-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Import-IVSRTPublicKey-Cmdlet.cs index fc3d2eee51..97562f86d8 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Import-IVSRTPublicKey-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Import-IVSRTPublicKey-Cmdlet.cs @@ -73,10 +73,10 @@ public partial class ImportIVSRTPublicKeyCmdlet : AmazonIVSRealTimeClientCmdlet, /// /// /// Tags attached to the resource. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS has no constraints on tags beyond what - /// is documented there. + /// See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTEncoderConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTEncoderConfiguration-Cmdlet.cs index 2b7fb2d3e6..fad7ed861c 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTEncoderConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTEncoderConfiguration-Cmdlet.cs @@ -88,10 +88,10 @@ public partial class NewIVSRTEncoderConfigurationCmdlet : AmazonIVSRealTimeClien /// /// /// Tags attached to the resource. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS has no constraints on tags beyond what - /// is documented there. + /// See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTIngestConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTIngestConfiguration-Cmdlet.cs new file mode 100644 index 0000000000..72bf30cee3 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTIngestConfiguration-Cmdlet.cs @@ -0,0 +1,345 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.IVSRealTime; +using Amazon.IVSRealTime.Model; + +namespace Amazon.PowerShell.Cmdlets.IVSRT +{ + /// + /// Creates a new IngestConfiguration resource, used to specify the ingest protocol for + /// a stage. + /// + [Cmdlet("New", "IVSRTIngestConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.IVSRealTime.Model.IngestConfiguration")] + [AWSCmdlet("Calls the Amazon Interactive Video Service RealTime CreateIngestConfiguration API operation.", Operation = new[] {"CreateIngestConfiguration"}, SelectReturnType = typeof(Amazon.IVSRealTime.Model.CreateIngestConfigurationResponse))] + [AWSCmdletOutput("Amazon.IVSRealTime.Model.IngestConfiguration or Amazon.IVSRealTime.Model.CreateIngestConfigurationResponse", + "This cmdlet returns an Amazon.IVSRealTime.Model.IngestConfiguration object.", + "The service call response (type Amazon.IVSRealTime.Model.CreateIngestConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewIVSRTIngestConfigurationCmdlet : AmazonIVSRealTimeClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Attribute + /// + /// + /// Application-provided attributes to store in the IngestConfiguration and attach to + /// a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of + /// this field is 1 KB total. This field is exposed to all stage participants and should + /// not be used for personally identifying, confidential, or sensitive information. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Attributes")] + public System.Collections.Hashtable Attribute { get; set; } + #endregion + + #region Parameter IngestProtocol + /// + /// + /// Type of ingest protocol that the user employs to broadcast. If this is set to RTMP, + /// insecureIngest must be set to true. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.IVSRealTime.IngestProtocol")] + public Amazon.IVSRealTime.IngestProtocol IngestProtocol { get; set; } + #endregion + + #region Parameter InsecureIngest + /// + /// + /// Whether the stage allows insecure RTMP ingest. This must be set to true, if + /// ingestProtocol is set to RTMP. Default: false. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? InsecureIngest { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// Optional name that can be specified for the IngestConfiguration being created. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter StageArn + /// + /// + /// ARN of the stage with which the IngestConfiguration is associated. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String StageArn { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// Tags attached to the resource. Array of maps, each of the form string:string (key:value). + /// See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + + #region Parameter UserId + /// + /// + /// Customer-assigned name to help identify the participant using the IngestConfiguration; + /// this can be used to link a participant to a user in the customer’s own systems. This + /// can be any UTF-8 encoded text. This field is exposed to all stage participants + /// and should not be used for personally identifying, confidential, or sensitive information. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String UserId { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'IngestConfiguration'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.IVSRealTime.Model.CreateIngestConfigurationResponse). + /// Specifying the name of a property of type Amazon.IVSRealTime.Model.CreateIngestConfigurationResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "IngestConfiguration"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the IngestProtocol parameter. + /// The -PassThru parameter is deprecated, use -Select '^IngestProtocol' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^IngestProtocol' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = string.Empty; + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-IVSRTIngestConfiguration (CreateIngestConfiguration)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.IngestProtocol; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Attribute != null) + { + context.Attribute = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Attribute.Keys) + { + context.Attribute.Add((String)hashKey, (System.String)(this.Attribute[hashKey])); + } + } + context.IngestProtocol = this.IngestProtocol; + #if MODULAR + if (this.IngestProtocol == null && ParameterWasBound(nameof(this.IngestProtocol))) + { + WriteWarning("You are passing $null as a value for parameter IngestProtocol which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.InsecureIngest = this.InsecureIngest; + context.Name = this.Name; + context.StageArn = this.StageArn; + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } + context.UserId = this.UserId; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.IVSRealTime.Model.CreateIngestConfigurationRequest(); + + if (cmdletContext.Attribute != null) + { + request.Attributes = cmdletContext.Attribute; + } + if (cmdletContext.IngestProtocol != null) + { + request.IngestProtocol = cmdletContext.IngestProtocol; + } + if (cmdletContext.InsecureIngest != null) + { + request.InsecureIngest = cmdletContext.InsecureIngest.Value; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + if (cmdletContext.StageArn != null) + { + request.StageArn = cmdletContext.StageArn; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + if (cmdletContext.UserId != null) + { + request.UserId = cmdletContext.UserId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.IVSRealTime.Model.CreateIngestConfigurationResponse CallAWSServiceOperation(IAmazonIVSRealTime client, Amazon.IVSRealTime.Model.CreateIngestConfigurationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Interactive Video Service RealTime", "CreateIngestConfiguration"); + try + { + #if DESKTOP + return client.CreateIngestConfiguration(request); + #elif CORECLR + return client.CreateIngestConfigurationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public Dictionary Attribute { get; set; } + public Amazon.IVSRealTime.IngestProtocol IngestProtocol { get; set; } + public System.Boolean? InsecureIngest { get; set; } + public System.String Name { get; set; } + public System.String StageArn { get; set; } + public Dictionary Tag { get; set; } + public System.String UserId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.IngestConfiguration; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStage-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStage-Cmdlet.cs index f6959557b2..861d725718 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStage-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStage-Cmdlet.cs @@ -92,10 +92,10 @@ public partial class NewIVSRTStageCmdlet : AmazonIVSRealTimeClientCmdlet, IExecu /// /// /// Tags attached to the resource. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS has no constraints on tags beyond what - /// is documented there. + /// See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStorageConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStorageConfiguration-Cmdlet.cs index bbe4a6c2db..053d32da03 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStorageConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/New-IVSRTStorageConfiguration-Cmdlet.cs @@ -77,10 +77,10 @@ public partial class NewIVSRTStorageConfigurationCmdlet : AmazonIVSRealTimeClien /// /// /// Tags attached to the resource. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS has no constraints on tags beyond what - /// is documented there. + /// See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLAuditStreamConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTIngestConfiguration-Cmdlet.cs similarity index 66% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLAuditStreamConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTIngestConfiguration-Cmdlet.cs index aeba1e53c6..0381d03a5c 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLAuditStreamConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTIngestConfiguration-Cmdlet.cs @@ -22,41 +22,32 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.IVSRealTime; +using Amazon.IVSRealTime.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.IVSRT { /// - /// Updates the audit stream configuration for the fleet.

    This operation is deprecated. + /// Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. + /// An IngestConfiguration cannot be deleted if the publisher is actively streaming to + /// a stage, unless force is set to true. ///
    - [Cmdlet("Update", "WLAuditStreamConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [Cmdlet("Remove", "IVSRTIngestConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink UpdateAuditStreamConfiguration API operation.", Operation = new[] {"UpdateAuditStreamConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.UpdateAuditStreamConfigurationResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.UpdateAuditStreamConfigurationResponse", + [AWSCmdlet("Calls the Amazon Interactive Video Service RealTime DeleteIngestConfiguration API operation.", Operation = new[] {"DeleteIngestConfiguration"}, SelectReturnType = typeof(Amazon.IVSRealTime.Model.DeleteIngestConfigurationResponse))] + [AWSCmdletOutput("None or Amazon.IVSRealTime.Model.DeleteIngestConfigurationResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.UpdateAuditStreamConfigurationResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.IVSRealTime.Model.DeleteIngestConfigurationResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UpdateWLAuditStreamConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemoveIVSRTIngestConfigurationCmdlet : AmazonIVSRealTimeClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter AuditStreamArn + #region Parameter Arn /// /// - /// The ARN of the Amazon Kinesis data stream that receives the audit events. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String AuditStreamArn { get; set; } - #endregion - - #region Parameter FleetArn - /// - /// - /// The ARN of the fleet. + /// ARN of the IngestConfiguration. /// /// #if !MODULAR @@ -67,13 +58,25 @@ public partial class UpdateWLAuditStreamConfigurationCmdlet : AmazonWorkLinkClie [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String Arn { get; set; } + #endregion + + #region Parameter ForceDelete + /// + /// + /// Optional field to force deletion of the IngestConfiguration. If this is set to true + /// when a participant is actively publishing, the participant is disconnected from the + /// stage, followed by deletion of the IngestConfiguration. Default: false. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? ForceDelete { get; set; } #endregion #region Parameter Select /// /// 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.WorkLink.Model.UpdateAuditStreamConfigurationResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.IVSRealTime.Model.DeleteIngestConfigurationResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -82,10 +85,10 @@ public partial class UpdateWLAuditStreamConfigurationCmdlet : AmazonWorkLinkClie #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the Arn parameter. + /// The -PassThru parameter is deprecated, use -Select '^Arn' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Arn' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -105,8 +108,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-WLAuditStreamConfiguration (UpdateAuditStreamConfiguration)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.Arn), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-IVSRTIngestConfiguration (DeleteIngestConfiguration)")) { return; } @@ -119,7 +122,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -128,17 +131,17 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.Arn; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.AuditStreamArn = this.AuditStreamArn; - context.FleetArn = this.FleetArn; + context.Arn = this.Arn; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.Arn == null && ParameterWasBound(nameof(this.Arn))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter Arn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.ForceDelete = this.ForceDelete; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -153,15 +156,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.UpdateAuditStreamConfigurationRequest(); + var request = new Amazon.IVSRealTime.Model.DeleteIngestConfigurationRequest(); - if (cmdletContext.AuditStreamArn != null) + if (cmdletContext.Arn != null) { - request.AuditStreamArn = cmdletContext.AuditStreamArn; + request.Arn = cmdletContext.Arn; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.ForceDelete != null) { - request.FleetArn = cmdletContext.FleetArn; + request.Force = cmdletContext.ForceDelete.Value; } CmdletOutput output; @@ -196,15 +199,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.UpdateAuditStreamConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.UpdateAuditStreamConfigurationRequest request) + private Amazon.IVSRealTime.Model.DeleteIngestConfigurationResponse CallAWSServiceOperation(IAmazonIVSRealTime client, Amazon.IVSRealTime.Model.DeleteIngestConfigurationRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "UpdateAuditStreamConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Interactive Video Service RealTime", "DeleteIngestConfiguration"); try { #if DESKTOP - return client.UpdateAuditStreamConfiguration(request); + return client.DeleteIngestConfiguration(request); #elif CORECLR - return client.UpdateAuditStreamConfigurationAsync(request).GetAwaiter().GetResult(); + return client.DeleteIngestConfigurationAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -224,9 +227,9 @@ private Amazon.WorkLink.Model.UpdateAuditStreamConfigurationResponse CallAWSServ internal partial class CmdletContext : ExecutorContext { - public System.String AuditStreamArn { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String Arn { get; set; } + public System.Boolean? ForceDelete { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTResourceTag-Cmdlet.cs index f55e7d2295..f095ace4ce 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTResourceTag-Cmdlet.cs @@ -63,10 +63,10 @@ public partial class RemoveIVSRTResourceTagCmdlet : AmazonIVSRealTimeClientCmdle /// /// /// Array of tags to be removed. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS has no constraints beyond what is documented - /// there. + /// See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTStage-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTStage-Cmdlet.cs index fc66b68d9c..ad2c5f0703 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTStage-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Remove-IVSRTStage-Cmdlet.cs @@ -28,7 +28,9 @@ namespace Amazon.PowerShell.Cmdlets.IVSRT { /// - /// Shuts down and deletes the specified stage (disconnecting all participants). + /// Shuts down and deletes the specified stage (disconnecting all participants). This + /// operation also removes the stageArn from the associated IngestConfiguration, + /// if there are participants using the IngestConfiguration to publish to the stage. /// [Cmdlet("Remove", "IVSRTStage", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Start-IVSRTComposition-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Start-IVSRTComposition-Cmdlet.cs index f57c3ff76d..babf546653 100644 --- a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Start-IVSRTComposition-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Start-IVSRTComposition-Cmdlet.cs @@ -32,7 +32,7 @@ namespace Amazon.PowerShell.Cmdlets.IVSRT /// /// /// - /// A Composition is an ephemeral resource that exists after this endpoint returns successfully. + /// A Composition is an ephemeral resource that exists after this operation returns successfully. /// Composition stops and the resource is deleted: ///
    • /// When StopComposition is called. @@ -256,10 +256,10 @@ public partial class StartIVSRTCompositionCmdlet : AmazonIVSRealTimeClientCmdlet /// /// /// Tags attached to the resource. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS has no constraints on tags beyond what - /// is documented there. + /// See Best + /// practices and strategies in Tagging AWS Resources and Tag Editor for details, + /// including restrictions that apply to tags and "Tag naming limits and requirements"; + /// Amazon IVS has no constraints on tags beyond what is documented there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Update-IVSRTIngestConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Update-IVSRTIngestConfiguration-Cmdlet.cs new file mode 100644 index 0000000000..b5138b5dfb --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/IVSRealTime/Basic/Update-IVSRTIngestConfiguration-Cmdlet.cs @@ -0,0 +1,237 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.IVSRealTime; +using Amazon.IVSRealTime.Model; + +namespace Amazon.PowerShell.Cmdlets.IVSRT +{ + /// + /// Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration + /// can be updated. An IngestConfiguration that is active cannot be updated. + /// + [Cmdlet("Update", "IVSRTIngestConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.IVSRealTime.Model.IngestConfiguration")] + [AWSCmdlet("Calls the Amazon Interactive Video Service RealTime UpdateIngestConfiguration API operation.", Operation = new[] {"UpdateIngestConfiguration"}, SelectReturnType = typeof(Amazon.IVSRealTime.Model.UpdateIngestConfigurationResponse))] + [AWSCmdletOutput("Amazon.IVSRealTime.Model.IngestConfiguration or Amazon.IVSRealTime.Model.UpdateIngestConfigurationResponse", + "This cmdlet returns an Amazon.IVSRealTime.Model.IngestConfiguration object.", + "The service call response (type Amazon.IVSRealTime.Model.UpdateIngestConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateIVSRTIngestConfigurationCmdlet : AmazonIVSRealTimeClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Arn + /// + /// + /// ARN of the IngestConfiguration, for which the related stage ARN needs to be updated. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String Arn { get; set; } + #endregion + + #region Parameter StageArn + /// + /// + /// Stage ARN that needs to be updated. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String StageArn { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'IngestConfiguration'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.IVSRealTime.Model.UpdateIngestConfigurationResponse). + /// Specifying the name of a property of type Amazon.IVSRealTime.Model.UpdateIngestConfigurationResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "IngestConfiguration"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Arn parameter. + /// The -PassThru parameter is deprecated, use -Select '^Arn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Arn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.Arn), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-IVSRTIngestConfiguration (UpdateIngestConfiguration)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.Arn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Arn = this.Arn; + #if MODULAR + if (this.Arn == null && ParameterWasBound(nameof(this.Arn))) + { + WriteWarning("You are passing $null as a value for parameter Arn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.StageArn = this.StageArn; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.IVSRealTime.Model.UpdateIngestConfigurationRequest(); + + if (cmdletContext.Arn != null) + { + request.Arn = cmdletContext.Arn; + } + if (cmdletContext.StageArn != null) + { + request.StageArn = cmdletContext.StageArn; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.IVSRealTime.Model.UpdateIngestConfigurationResponse CallAWSServiceOperation(IAmazonIVSRealTime client, Amazon.IVSRealTime.Model.UpdateIngestConfigurationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Interactive Video Service RealTime", "UpdateIngestConfiguration"); + try + { + #if DESKTOP + return client.UpdateIngestConfiguration(request); + #elif CORECLR + return client.UpdateIngestConfigurationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String Arn { get; set; } + public System.String StageArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.IngestConfiguration; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/IdentityManagement/AmazonIdentityManagementServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IdentityManagement/AmazonIdentityManagementServiceClientCmdlet.cs index 4307ffbe16..53bee70172 100644 --- a/modules/AWSPowerShell/Cmdlets/IdentityManagement/AmazonIdentityManagementServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IdentityManagement/AmazonIdentityManagementServiceClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonIdentityManagementService CreateClient(AWSCredentials credentia return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIdentityManagementServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IdentityStore/AmazonIdentityStoreClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IdentityStore/AmazonIdentityStoreClientCmdlet.cs index 37bda432c7..4e490946d5 100644 --- a/modules/AWSPowerShell/Cmdlets/IdentityStore/AmazonIdentityStoreClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IdentityStore/AmazonIdentityStoreClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIdentityStore CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIdentityStoreConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Imagebuilder/AmazonImagebuilderClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Imagebuilder/AmazonImagebuilderClientCmdlet.cs index 5ef70c578d..2b965a94b9 100644 --- a/modules/AWSPowerShell/Cmdlets/Imagebuilder/AmazonImagebuilderClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Imagebuilder/AmazonImagebuilderClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonImagebuilder CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonImagebuilderConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ImportExport/AmazonImportExportClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ImportExport/AmazonImportExportClientCmdlet.cs index f7675ed070..52e1c7c723 100644 --- a/modules/AWSPowerShell/Cmdlets/ImportExport/AmazonImportExportClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ImportExport/AmazonImportExportClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonImportExport CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonImportExportConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Inspector/AmazonInspectorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Inspector/AmazonInspectorClientCmdlet.cs index 38b33f8c0f..84305f287e 100644 --- a/modules/AWSPowerShell/Cmdlets/Inspector/AmazonInspectorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Inspector/AmazonInspectorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonInspector CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonInspectorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Inspector2/AmazonInspector2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Inspector2/AmazonInspector2ClientCmdlet.cs index 0ebe0e6b20..4bf4401f7b 100644 --- a/modules/AWSPowerShell/Cmdlets/Inspector2/AmazonInspector2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Inspector2/AmazonInspector2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonInspector2 CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonInspector2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/InspectorScan/AmazonInspectorScanClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/InspectorScan/AmazonInspectorScanClientCmdlet.cs index 53eee36535..b9adad05cd 100644 --- a/modules/AWSPowerShell/Cmdlets/InspectorScan/AmazonInspectorScanClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/InspectorScan/AmazonInspectorScanClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonInspectorScan CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonInspectorScanConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/InternetMonitor/AWS.Tools.InternetMonitor.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/InternetMonitor/AWS.Tools.InternetMonitor.Completers.psm1 index 9a3803f2c2..88767e39a4 100644 --- a/modules/AWSPowerShell/Cmdlets/InternetMonitor/AWS.Tools.InternetMonitor.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/InternetMonitor/AWS.Tools.InternetMonitor.Completers.psm1 @@ -119,7 +119,7 @@ $CWIM_Completers = { # Amazon.InternetMonitor.QueryType "Start-CWIMQuery/QueryType" { - $v = "MEASUREMENTS","TOP_LOCATIONS","TOP_LOCATION_DETAILS" + $v = "MEASUREMENTS","OVERALL_TRAFFIC_SUGGESTIONS","OVERALL_TRAFFIC_SUGGESTIONS_DETAILS","TOP_LOCATIONS","TOP_LOCATION_DETAILS" break } diff --git a/modules/AWSPowerShell/Cmdlets/InternetMonitor/AmazonInternetMonitorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/InternetMonitor/AmazonInternetMonitorClientCmdlet.cs index 9fcc038d9a..b2152420c3 100644 --- a/modules/AWSPowerShell/Cmdlets/InternetMonitor/AmazonInternetMonitorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/InternetMonitor/AmazonInternetMonitorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonInternetMonitor CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonInternetMonitorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/InternetMonitor/Basic/Start-CWIMQuery-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/InternetMonitor/Basic/Start-CWIMQuery-Cmdlet.cs index f4027e9968..2934e2bca5 100644 --- a/modules/AWSPowerShell/Cmdlets/InternetMonitor/Basic/Start-CWIMQuery-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/InternetMonitor/Basic/Start-CWIMQuery-Cmdlet.cs @@ -124,7 +124,10 @@ public partial class StartCWIMQueryCmdlet : AmazonInternetMonitorClientCmdlet, I /// and round-trip times, at 5 minute intervals.
    • TOP_LOCATIONS: Provides availability score, performance score, total traffic, /// and time to first byte (TTFB) information, for the top location and ASN combinations /// that you're monitoring, by traffic volume.
    • TOP_LOCATION_DETAILS: Provides TTFB for Amazon CloudFront, your current configuration, - /// and the best performing EC2 configuration, at 1 hour intervals.
    For lists of the fields returned with each query type and more information about how + /// and the best performing EC2 configuration, at 1 hour intervals.
  • OVERALL_TRAFFIC_SUGGESTIONS: Provides TTFB, using a 30-day weighted average, + /// for all traffic in each Amazon Web Services location that is monitored.
  • OVERALL_TRAFFIC_SUGGESTIONS_DETAILS: Provides TTFB, using a 30-day weighted + /// average, for each top location, for a proposed Amazon Web Services location. Must + /// provide a Amazon Web Services location to search.
  • For lists of the fields returned with each query type and more information about how /// each type of query is performed, see /// Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch /// Internet Monitor User Guide. diff --git a/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.Completers.psm1 index 802bc7d91f..6183eaca9f 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.Completers.psm1 @@ -388,6 +388,13 @@ $IOT_Completers = { break } + # Amazon.IoT.SbomValidationResult + "Get-IOTSbomValidationResultList/ValidationResult" + { + $v = "FAILED","SUCCEEDED" + break + } + # Amazon.IoT.ServiceType { ($_ -eq "Get-IOTDomainConfigurationList/ServiceType") -Or @@ -512,6 +519,7 @@ $IOT_map = @{ "Unit"=@("New-IOTFleetMetric","Update-IOTFleetMetric") "UpdateCACertificateParams_Action"=@("New-IOTMitigationAction","Update-IOTMitigationAction") "UpdateDeviceCertificateParams_Action"=@("New-IOTMitigationAction","Update-IOTMitigationAction") + "ValidationResult"=@("Get-IOTSbomValidationResultList") "VerificationState"=@("Get-IOTActiveViolationList","Get-IOTViolationEventList","Write-IOTVerificationStateOnViolation") } @@ -568,6 +576,7 @@ $IOT_SelectMap = @{ "Select"=@("Confirm-IOTCertificateTransfer", "Add-IOTThingToBillingGroup", "Add-IOTThingToThingGroup", + "Add-IOTSbomWithPackageVersion", "Add-IOTTargetsWithJob", "Add-IOTPolicy", "Add-IOTPrincipalPolicy", @@ -686,6 +695,7 @@ $IOT_SelectMap = @{ "Dismount-IOTSecurityProfile", "Remove-IOTThingPrincipal", "Disable-IOTTopicRule", + "Remove-IOTSbomFromPackageVersion", "Enable-IOTTopicRule", "Get-IOTBehaviorModelTrainingSummary", "Get-IOTBucketsAggregation", @@ -746,6 +756,7 @@ $IOT_SelectMap = @{ "Get-IOTProvisioningTemplateVersionList", "Get-IOTRelatedResourcesForAuditFindingList", "Get-IOTRoleAliasList", + "Get-IOTSbomValidationResultList", "Get-IOTScheduledAuditList", "Get-IOTSecurityProfileList", "Get-IOTSecurityProfilesForTargetList", diff --git a/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.psd1 b/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.psd1 index 195af2c14f..7096af74c9 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.psd1 +++ b/modules/AWSPowerShell/Cmdlets/IoT/AWS.Tools.IoT.psd1 @@ -89,6 +89,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Add-IOTPolicy', 'Add-IOTPrincipalPolicy', 'Add-IOTResourceTag', + 'Add-IOTSbomWithPackageVersion', 'Add-IOTTargetsWithJob', 'Add-IOTThingPrincipal', 'Add-IOTThingToBillingGroup', @@ -182,6 +183,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-IOTRelatedResourcesForAuditFindingList', 'Get-IOTRoleAlias', 'Get-IOTRoleAliasList', + 'Get-IOTSbomValidationResultList', 'Get-IOTScheduledAudit', 'Get-IOTScheduledAuditList', 'Get-IOTSecurityProfile', @@ -277,6 +279,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Remove-IOTRegistrationCode', 'Remove-IOTResourceTag', 'Remove-IOTRoleAlias', + 'Remove-IOTSbomFromPackageVersion', 'Remove-IOTScheduledAudit', 'Remove-IOTSecurityProfile', 'Remove-IOTStream', diff --git a/modules/AWSPowerShell/Cmdlets/IoT/AmazonIoTClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/AmazonIoTClientCmdlet.cs index 2f68135c5e..ae22e55a1b 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/AmazonIoTClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoT/AmazonIoTClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoT CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Add-IOTSbomWithPackageVersion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Add-IOTSbomWithPackageVersion-Cmdlet.cs new file mode 100644 index 0000000000..442f11058e --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Add-IOTSbomWithPackageVersion-Cmdlet.cs @@ -0,0 +1,362 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.IoT; +using Amazon.IoT.Model; + +namespace Amazon.PowerShell.Cmdlets.IOT +{ + /// + /// Associates a software bill of materials (SBOM) with a specific software package version. + /// + /// + /// + /// Requires permission to access the AssociateSbomWithPackageVersion + /// action. + /// + /// + [Cmdlet("Add", "IOTSbomWithPackageVersion", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.IoT.Model.AssociateSbomWithPackageVersionResponse")] + [AWSCmdlet("Calls the AWS IoT AssociateSbomWithPackageVersion API operation.", Operation = new[] {"AssociateSbomWithPackageVersion"}, SelectReturnType = typeof(Amazon.IoT.Model.AssociateSbomWithPackageVersionResponse))] + [AWSCmdletOutput("Amazon.IoT.Model.AssociateSbomWithPackageVersionResponse", + "This cmdlet returns an Amazon.IoT.Model.AssociateSbomWithPackageVersionResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class AddIOTSbomWithPackageVersionCmdlet : AmazonIoTClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter S3Location_Bucket + /// + /// + /// The S3 bucket. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Sbom_S3Location_Bucket")] + public System.String S3Location_Bucket { get; set; } + #endregion + + #region Parameter S3Location_Key + /// + /// + /// The S3 key. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Sbom_S3Location_Key")] + public System.String S3Location_Key { get; set; } + #endregion + + #region Parameter PackageName + /// + /// + /// The name of the new software package. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String PackageName { get; set; } + #endregion + + #region Parameter S3Location_Version + /// + /// + /// The S3 bucket version. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Sbom_S3Location_Version")] + public System.String S3Location_Version { get; set; } + #endregion + + #region Parameter VersionName + /// + /// + /// The name of the new package version. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String VersionName { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique case-sensitive identifier that you can provide to ensure the idempotency + /// of the request. Don't reuse this client token if a new idempotent request is required. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.IoT.Model.AssociateSbomWithPackageVersionResponse). + /// Specifying the name of a property of type Amazon.IoT.Model.AssociateSbomWithPackageVersionResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the VersionName parameter. + /// The -PassThru parameter is deprecated, use -Select '^VersionName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^VersionName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.VersionName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Add-IOTSbomWithPackageVersion (AssociateSbomWithPackageVersion)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.VersionName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.PackageName = this.PackageName; + #if MODULAR + if (this.PackageName == null && ParameterWasBound(nameof(this.PackageName))) + { + WriteWarning("You are passing $null as a value for parameter PackageName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.S3Location_Bucket = this.S3Location_Bucket; + context.S3Location_Key = this.S3Location_Key; + context.S3Location_Version = this.S3Location_Version; + context.VersionName = this.VersionName; + #if MODULAR + if (this.VersionName == null && ParameterWasBound(nameof(this.VersionName))) + { + WriteWarning("You are passing $null as a value for parameter VersionName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.IoT.Model.AssociateSbomWithPackageVersionRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.PackageName != null) + { + request.PackageName = cmdletContext.PackageName; + } + + // populate Sbom + var requestSbomIsNull = true; + request.Sbom = new Amazon.IoT.Model.Sbom(); + Amazon.IoT.Model.S3Location requestSbom_sbom_S3Location = null; + + // populate S3Location + var requestSbom_sbom_S3LocationIsNull = true; + requestSbom_sbom_S3Location = new Amazon.IoT.Model.S3Location(); + System.String requestSbom_sbom_S3Location_s3Location_Bucket = null; + if (cmdletContext.S3Location_Bucket != null) + { + requestSbom_sbom_S3Location_s3Location_Bucket = cmdletContext.S3Location_Bucket; + } + if (requestSbom_sbom_S3Location_s3Location_Bucket != null) + { + requestSbom_sbom_S3Location.Bucket = requestSbom_sbom_S3Location_s3Location_Bucket; + requestSbom_sbom_S3LocationIsNull = false; + } + System.String requestSbom_sbom_S3Location_s3Location_Key = null; + if (cmdletContext.S3Location_Key != null) + { + requestSbom_sbom_S3Location_s3Location_Key = cmdletContext.S3Location_Key; + } + if (requestSbom_sbom_S3Location_s3Location_Key != null) + { + requestSbom_sbom_S3Location.Key = requestSbom_sbom_S3Location_s3Location_Key; + requestSbom_sbom_S3LocationIsNull = false; + } + System.String requestSbom_sbom_S3Location_s3Location_Version = null; + if (cmdletContext.S3Location_Version != null) + { + requestSbom_sbom_S3Location_s3Location_Version = cmdletContext.S3Location_Version; + } + if (requestSbom_sbom_S3Location_s3Location_Version != null) + { + requestSbom_sbom_S3Location.Version = requestSbom_sbom_S3Location_s3Location_Version; + requestSbom_sbom_S3LocationIsNull = false; + } + // determine if requestSbom_sbom_S3Location should be set to null + if (requestSbom_sbom_S3LocationIsNull) + { + requestSbom_sbom_S3Location = null; + } + if (requestSbom_sbom_S3Location != null) + { + request.Sbom.S3Location = requestSbom_sbom_S3Location; + requestSbomIsNull = false; + } + // determine if request.Sbom should be set to null + if (requestSbomIsNull) + { + request.Sbom = null; + } + if (cmdletContext.VersionName != null) + { + request.VersionName = cmdletContext.VersionName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.IoT.Model.AssociateSbomWithPackageVersionResponse CallAWSServiceOperation(IAmazonIoT client, Amazon.IoT.Model.AssociateSbomWithPackageVersionRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS IoT", "AssociateSbomWithPackageVersion"); + try + { + #if DESKTOP + return client.AssociateSbomWithPackageVersion(request); + #elif CORECLR + return client.AssociateSbomWithPackageVersionAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String PackageName { get; set; } + public System.String S3Location_Bucket { get; set; } + public System.String S3Location_Key { get; set; } + public System.String S3Location_Version { get; set; } + public System.String VersionName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJob-Cmdlet.cs index b77b6a8395..ba20359af3 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJob-Cmdlet.cs @@ -47,6 +47,17 @@ public partial class GetIOTJobCmdlet : AmazonIoTClientCmdlet, IExecutor protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter BeforeSubstitution + /// + /// + /// A flag that provides a view of the job document before and after the substitution + /// parameters have been resolved with their exact values. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? BeforeSubstitution { get; set; } + #endregion + #region Parameter JobId /// /// @@ -110,6 +121,7 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.JobId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.BeforeSubstitution = this.BeforeSubstitution; context.JobId = this.JobId; #if MODULAR if (this.JobId == null && ParameterWasBound(nameof(this.JobId))) @@ -133,6 +145,10 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.IoT.Model.DescribeJobRequest(); + if (cmdletContext.BeforeSubstitution != null) + { + request.BeforeSubstitution = cmdletContext.BeforeSubstitution.Value; + } if (cmdletContext.JobId != null) { request.JobId = cmdletContext.JobId; @@ -198,6 +214,7 @@ private Amazon.IoT.Model.DescribeJobResponse CallAWSServiceOperation(IAmazonIoT internal partial class CmdletContext : ExecutorContext { + public System.Boolean? BeforeSubstitution { get; set; } public System.String JobId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJobDocument-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJobDocument-Cmdlet.cs index 940ed94712..05208090ee 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJobDocument-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTJobDocument-Cmdlet.cs @@ -48,6 +48,17 @@ public partial class GetIOTJobDocumentCmdlet : AmazonIoTClientCmdlet, IExecutor protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter BeforeSubstitution + /// + /// + /// A flag that provides a view of the job document before and after the substitution + /// parameters have been resolved with their exact values. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? BeforeSubstitution { get; set; } + #endregion + #region Parameter JobId /// /// @@ -111,6 +122,7 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.JobId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.BeforeSubstitution = this.BeforeSubstitution; context.JobId = this.JobId; #if MODULAR if (this.JobId == null && ParameterWasBound(nameof(this.JobId))) @@ -134,6 +146,10 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.IoT.Model.GetJobDocumentRequest(); + if (cmdletContext.BeforeSubstitution != null) + { + request.BeforeSubstitution = cmdletContext.BeforeSubstitution.Value; + } if (cmdletContext.JobId != null) { request.JobId = cmdletContext.JobId; @@ -199,6 +215,7 @@ private Amazon.IoT.Model.GetJobDocumentResponse CallAWSServiceOperation(IAmazonI internal partial class CmdletContext : ExecutorContext { + public System.Boolean? BeforeSubstitution { get; set; } public System.String JobId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.Document; diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTSbomValidationResultList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTSbomValidationResultList-Cmdlet.cs new file mode 100644 index 0000000000..cd37b68262 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Get-IOTSbomValidationResultList-Cmdlet.cs @@ -0,0 +1,289 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.IoT; +using Amazon.IoT.Model; + +namespace Amazon.PowerShell.Cmdlets.IOT +{ + /// + /// The validation results for all software bill of materials (SBOM) attached to a specific + /// software package version. + /// + /// + /// + /// Requires permission to access the ListSbomValidationResults + /// action. + /// + /// + [Cmdlet("Get", "IOTSbomValidationResultList")] + [OutputType("Amazon.IoT.Model.SbomValidationResultSummary")] + [AWSCmdlet("Calls the AWS IoT ListSbomValidationResults API operation.", Operation = new[] {"ListSbomValidationResults"}, SelectReturnType = typeof(Amazon.IoT.Model.ListSbomValidationResultsResponse))] + [AWSCmdletOutput("Amazon.IoT.Model.SbomValidationResultSummary or Amazon.IoT.Model.ListSbomValidationResultsResponse", + "This cmdlet returns a collection of Amazon.IoT.Model.SbomValidationResultSummary objects.", + "The service call response (type Amazon.IoT.Model.ListSbomValidationResultsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetIOTSbomValidationResultListCmdlet : AmazonIoTClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter PackageName + /// + /// + /// The name of the new software package. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String PackageName { get; set; } + #endregion + + #region Parameter ValidationResult + /// + /// + /// The end result of the + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.IoT.SbomValidationResult")] + public Amazon.IoT.SbomValidationResult ValidationResult { get; set; } + #endregion + + #region Parameter VersionName + /// + /// + /// The name of the new package version. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String VersionName { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to return at one time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// A token that can be used to retrieve the next set of results, or null if there are + /// no additional results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'ValidationResultSummaries'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.IoT.Model.ListSbomValidationResultsResponse). + /// Specifying the name of a property of type Amazon.IoT.Model.ListSbomValidationResultsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "ValidationResultSummaries"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the VersionName parameter. + /// The -PassThru parameter is deprecated, use -Select '^VersionName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^VersionName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.VersionName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.PackageName = this.PackageName; + #if MODULAR + if (this.PackageName == null && ParameterWasBound(nameof(this.PackageName))) + { + WriteWarning("You are passing $null as a value for parameter PackageName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ValidationResult = this.ValidationResult; + context.VersionName = this.VersionName; + #if MODULAR + if (this.VersionName == null && ParameterWasBound(nameof(this.VersionName))) + { + WriteWarning("You are passing $null as a value for parameter VersionName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.IoT.Model.ListSbomValidationResultsRequest(); + + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + if (cmdletContext.PackageName != null) + { + request.PackageName = cmdletContext.PackageName; + } + if (cmdletContext.ValidationResult != null) + { + request.ValidationResult = cmdletContext.ValidationResult; + } + if (cmdletContext.VersionName != null) + { + request.VersionName = cmdletContext.VersionName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.IoT.Model.ListSbomValidationResultsResponse CallAWSServiceOperation(IAmazonIoT client, Amazon.IoT.Model.ListSbomValidationResultsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS IoT", "ListSbomValidationResults"); + try + { + #if DESKTOP + return client.ListSbomValidationResults(request); + #elif CORECLR + return client.ListSbomValidationResultsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String PackageName { get; set; } + public Amazon.IoT.SbomValidationResult ValidationResult { get; set; } + public System.String VersionName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ValidationResultSummaries; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTDomainConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTDomainConfiguration-Cmdlet.cs index 88592fae0e..606668dc8a 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTDomainConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTDomainConfiguration-Cmdlet.cs @@ -99,7 +99,7 @@ public partial class NewIOTDomainConfigurationCmdlet : AmazonIoTClientCmdlet, IE /// /// /// A Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server - /// certificate check is enabled or not.For more information, see Configuring + /// certificate check is enabled or not.For more information, see Configuring /// OCSP server-certificate stapling in domain configuration from Amazon Web Services /// IoT Core Developer Guide. /// diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTPackageVersion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTPackageVersion-Cmdlet.cs index 58803440e1..d6a3fbe473 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTPackageVersion-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTPackageVersion-Cmdlet.cs @@ -64,6 +64,17 @@ public partial class NewIOTPackageVersionCmdlet : AmazonIoTClientCmdlet, IExecut public System.Collections.Hashtable Attribute { get; set; } #endregion + #region Parameter S3Location_Bucket + /// + /// + /// The S3 bucket. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Artifact_S3Location_Bucket")] + public System.String S3Location_Bucket { get; set; } + #endregion + #region Parameter Description /// /// @@ -75,6 +86,17 @@ public partial class NewIOTPackageVersionCmdlet : AmazonIoTClientCmdlet, IExecut public System.String Description { get; set; } #endregion + #region Parameter S3Location_Key + /// + /// + /// The S3 key. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Artifact_S3Location_Key")] + public System.String S3Location_Key { get; set; } + #endregion + #region Parameter PackageName /// /// @@ -92,6 +114,17 @@ public partial class NewIOTPackageVersionCmdlet : AmazonIoTClientCmdlet, IExecut public System.String PackageName { get; set; } #endregion + #region Parameter Recipe + /// + /// + /// The inline job document associated with a software package version used for a quick + /// job deployment via IoT Jobs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Recipe { get; set; } + #endregion + #region Parameter Tag /// /// @@ -103,6 +136,17 @@ public partial class NewIOTPackageVersionCmdlet : AmazonIoTClientCmdlet, IExecut public System.Collections.Hashtable Tag { get; set; } #endregion + #region Parameter S3Location_Version + /// + /// + /// The S3 bucket version. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Artifact_S3Location_Version")] + public System.String S3Location_Version { get; set; } + #endregion + #region Parameter VersionName /// /// @@ -193,6 +237,9 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.VersionName; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.S3Location_Bucket = this.S3Location_Bucket; + context.S3Location_Key = this.S3Location_Key; + context.S3Location_Version = this.S3Location_Version; if (this.Attribute != null) { context.Attribute = new Dictionary(StringComparer.Ordinal); @@ -210,6 +257,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter PackageName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.Recipe = this.Recipe; if (this.Tag != null) { context.Tag = new Dictionary(StringComparer.Ordinal); @@ -241,6 +289,60 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.IoT.Model.CreatePackageVersionRequest(); + + // populate Artifact + var requestArtifactIsNull = true; + request.Artifact = new Amazon.IoT.Model.PackageVersionArtifact(); + Amazon.IoT.Model.S3Location requestArtifact_artifact_S3Location = null; + + // populate S3Location + var requestArtifact_artifact_S3LocationIsNull = true; + requestArtifact_artifact_S3Location = new Amazon.IoT.Model.S3Location(); + System.String requestArtifact_artifact_S3Location_s3Location_Bucket = null; + if (cmdletContext.S3Location_Bucket != null) + { + requestArtifact_artifact_S3Location_s3Location_Bucket = cmdletContext.S3Location_Bucket; + } + if (requestArtifact_artifact_S3Location_s3Location_Bucket != null) + { + requestArtifact_artifact_S3Location.Bucket = requestArtifact_artifact_S3Location_s3Location_Bucket; + requestArtifact_artifact_S3LocationIsNull = false; + } + System.String requestArtifact_artifact_S3Location_s3Location_Key = null; + if (cmdletContext.S3Location_Key != null) + { + requestArtifact_artifact_S3Location_s3Location_Key = cmdletContext.S3Location_Key; + } + if (requestArtifact_artifact_S3Location_s3Location_Key != null) + { + requestArtifact_artifact_S3Location.Key = requestArtifact_artifact_S3Location_s3Location_Key; + requestArtifact_artifact_S3LocationIsNull = false; + } + System.String requestArtifact_artifact_S3Location_s3Location_Version = null; + if (cmdletContext.S3Location_Version != null) + { + requestArtifact_artifact_S3Location_s3Location_Version = cmdletContext.S3Location_Version; + } + if (requestArtifact_artifact_S3Location_s3Location_Version != null) + { + requestArtifact_artifact_S3Location.Version = requestArtifact_artifact_S3Location_s3Location_Version; + requestArtifact_artifact_S3LocationIsNull = false; + } + // determine if requestArtifact_artifact_S3Location should be set to null + if (requestArtifact_artifact_S3LocationIsNull) + { + requestArtifact_artifact_S3Location = null; + } + if (requestArtifact_artifact_S3Location != null) + { + request.Artifact.S3Location = requestArtifact_artifact_S3Location; + requestArtifactIsNull = false; + } + // determine if request.Artifact should be set to null + if (requestArtifactIsNull) + { + request.Artifact = null; + } if (cmdletContext.Attribute != null) { request.Attributes = cmdletContext.Attribute; @@ -257,6 +359,10 @@ public object Execute(ExecutorContext context) { request.PackageName = cmdletContext.PackageName; } + if (cmdletContext.Recipe != null) + { + request.Recipe = cmdletContext.Recipe; + } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; @@ -326,10 +432,14 @@ private Amazon.IoT.Model.CreatePackageVersionResponse CallAWSServiceOperation(IA internal partial class CmdletContext : ExecutorContext { + public System.String S3Location_Bucket { get; set; } + public System.String S3Location_Key { get; set; } + public System.String S3Location_Version { get; set; } public Dictionary Attribute { get; set; } public System.String ClientToken { get; set; } public System.String Description { get; set; } public System.String PackageName { get; set; } + public System.String Recipe { get; set; } public Dictionary Tag { get; set; } public System.String VersionName { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Remove-IOTSbomFromPackageVersion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Remove-IOTSbomFromPackageVersion-Cmdlet.cs new file mode 100644 index 0000000000..781c1b0a6d --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Remove-IOTSbomFromPackageVersion-Cmdlet.cs @@ -0,0 +1,270 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.IoT; +using Amazon.IoT.Model; + +namespace Amazon.PowerShell.Cmdlets.IOT +{ + /// + /// Disassociates a software bill of materials (SBOM) from a specific software package + /// version. + /// + /// + /// + /// Requires permission to access the DisassociateSbomWithPackageVersion + /// action. + /// + /// + [Cmdlet("Remove", "IOTSbomFromPackageVersion", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS IoT DisassociateSbomFromPackageVersion API operation.", Operation = new[] {"DisassociateSbomFromPackageVersion"}, SelectReturnType = typeof(Amazon.IoT.Model.DisassociateSbomFromPackageVersionResponse))] + [AWSCmdletOutput("None or Amazon.IoT.Model.DisassociateSbomFromPackageVersionResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.IoT.Model.DisassociateSbomFromPackageVersionResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveIOTSbomFromPackageVersionCmdlet : AmazonIoTClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter PackageName + /// + /// + /// The name of the new software package. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String PackageName { get; set; } + #endregion + + #region Parameter VersionName + /// + /// + /// The name of the new package version. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String VersionName { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique case-sensitive identifier that you can provide to ensure the idempotency + /// of the request. Don't reuse this client token if a new idempotent request is required. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.IoT.Model.DisassociateSbomFromPackageVersionResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the VersionName parameter. + /// The -PassThru parameter is deprecated, use -Select '^VersionName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^VersionName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.VersionName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-IOTSbomFromPackageVersion (DisassociateSbomFromPackageVersion)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.VersionName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.PackageName = this.PackageName; + #if MODULAR + if (this.PackageName == null && ParameterWasBound(nameof(this.PackageName))) + { + WriteWarning("You are passing $null as a value for parameter PackageName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.VersionName = this.VersionName; + #if MODULAR + if (this.VersionName == null && ParameterWasBound(nameof(this.VersionName))) + { + WriteWarning("You are passing $null as a value for parameter VersionName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.IoT.Model.DisassociateSbomFromPackageVersionRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.PackageName != null) + { + request.PackageName = cmdletContext.PackageName; + } + if (cmdletContext.VersionName != null) + { + request.VersionName = cmdletContext.VersionName; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.IoT.Model.DisassociateSbomFromPackageVersionResponse CallAWSServiceOperation(IAmazonIoT client, Amazon.IoT.Model.DisassociateSbomFromPackageVersionRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS IoT", "DisassociateSbomFromPackageVersion"); + try + { + #if DESKTOP + return client.DisassociateSbomFromPackageVersion(request); + #elif CORECLR + return client.DisassociateSbomFromPackageVersionAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String PackageName { get; set; } + public System.String VersionName { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTDomainConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTDomainConfiguration-Cmdlet.cs index 2a5eeed27c..8f04146674 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTDomainConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTDomainConfiguration-Cmdlet.cs @@ -101,7 +101,7 @@ public partial class UpdateIOTDomainConfigurationCmdlet : AmazonIoTClientCmdlet, /// /// /// A Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server - /// certificate check is enabled or not.For more information, see Configuring + /// certificate check is enabled or not.For more information, see Configuring /// OCSP server-certificate stapling in domain configuration from Amazon Web Services /// IoT Core Developer Guide. /// diff --git a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTPackageVersion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTPackageVersion-Cmdlet.cs index 0745a2c357..e2354a833c 100644 --- a/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTPackageVersion-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoT/Basic/Update-IOTPackageVersion-Cmdlet.cs @@ -78,6 +78,17 @@ public partial class UpdateIOTPackageVersionCmdlet : AmazonIoTClientCmdlet, IExe public System.Collections.Hashtable Attribute { get; set; } #endregion + #region Parameter S3Location_Bucket + /// + /// + /// The S3 bucket. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Artifact_S3Location_Bucket")] + public System.String S3Location_Bucket { get; set; } + #endregion + #region Parameter Description /// /// @@ -88,6 +99,17 @@ public partial class UpdateIOTPackageVersionCmdlet : AmazonIoTClientCmdlet, IExe public System.String Description { get; set; } #endregion + #region Parameter S3Location_Key + /// + /// + /// The S3 key. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Artifact_S3Location_Key")] + public System.String S3Location_Key { get; set; } + #endregion + #region Parameter PackageName /// /// @@ -105,6 +127,28 @@ public partial class UpdateIOTPackageVersionCmdlet : AmazonIoTClientCmdlet, IExe public System.String PackageName { get; set; } #endregion + #region Parameter Recipe + /// + /// + /// The inline job document associated with a software package version used for a quick + /// job deployment via IoT Jobs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Recipe { get; set; } + #endregion + + #region Parameter S3Location_Version + /// + /// + /// The S3 bucket version. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Artifact_S3Location_Version")] + public System.String S3Location_Version { get; set; } + #endregion + #region Parameter VersionName /// /// @@ -195,6 +239,9 @@ protected override void ProcessRecord() } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.Action = this.Action; + context.S3Location_Bucket = this.S3Location_Bucket; + context.S3Location_Key = this.S3Location_Key; + context.S3Location_Version = this.S3Location_Version; if (this.Attribute != null) { context.Attribute = new Dictionary(StringComparer.Ordinal); @@ -212,6 +259,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter PackageName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.Recipe = this.Recipe; context.VersionName = this.VersionName; #if MODULAR if (this.VersionName == null && ParameterWasBound(nameof(this.VersionName))) @@ -239,6 +287,60 @@ public object Execute(ExecutorContext context) { request.Action = cmdletContext.Action; } + + // populate Artifact + var requestArtifactIsNull = true; + request.Artifact = new Amazon.IoT.Model.PackageVersionArtifact(); + Amazon.IoT.Model.S3Location requestArtifact_artifact_S3Location = null; + + // populate S3Location + var requestArtifact_artifact_S3LocationIsNull = true; + requestArtifact_artifact_S3Location = new Amazon.IoT.Model.S3Location(); + System.String requestArtifact_artifact_S3Location_s3Location_Bucket = null; + if (cmdletContext.S3Location_Bucket != null) + { + requestArtifact_artifact_S3Location_s3Location_Bucket = cmdletContext.S3Location_Bucket; + } + if (requestArtifact_artifact_S3Location_s3Location_Bucket != null) + { + requestArtifact_artifact_S3Location.Bucket = requestArtifact_artifact_S3Location_s3Location_Bucket; + requestArtifact_artifact_S3LocationIsNull = false; + } + System.String requestArtifact_artifact_S3Location_s3Location_Key = null; + if (cmdletContext.S3Location_Key != null) + { + requestArtifact_artifact_S3Location_s3Location_Key = cmdletContext.S3Location_Key; + } + if (requestArtifact_artifact_S3Location_s3Location_Key != null) + { + requestArtifact_artifact_S3Location.Key = requestArtifact_artifact_S3Location_s3Location_Key; + requestArtifact_artifact_S3LocationIsNull = false; + } + System.String requestArtifact_artifact_S3Location_s3Location_Version = null; + if (cmdletContext.S3Location_Version != null) + { + requestArtifact_artifact_S3Location_s3Location_Version = cmdletContext.S3Location_Version; + } + if (requestArtifact_artifact_S3Location_s3Location_Version != null) + { + requestArtifact_artifact_S3Location.Version = requestArtifact_artifact_S3Location_s3Location_Version; + requestArtifact_artifact_S3LocationIsNull = false; + } + // determine if requestArtifact_artifact_S3Location should be set to null + if (requestArtifact_artifact_S3LocationIsNull) + { + requestArtifact_artifact_S3Location = null; + } + if (requestArtifact_artifact_S3Location != null) + { + request.Artifact.S3Location = requestArtifact_artifact_S3Location; + requestArtifactIsNull = false; + } + // determine if request.Artifact should be set to null + if (requestArtifactIsNull) + { + request.Artifact = null; + } if (cmdletContext.Attribute != null) { request.Attributes = cmdletContext.Attribute; @@ -255,6 +357,10 @@ public object Execute(ExecutorContext context) { request.PackageName = cmdletContext.PackageName; } + if (cmdletContext.Recipe != null) + { + request.Recipe = cmdletContext.Recipe; + } if (cmdletContext.VersionName != null) { request.VersionName = cmdletContext.VersionName; @@ -321,10 +427,14 @@ private Amazon.IoT.Model.UpdatePackageVersionResponse CallAWSServiceOperation(IA internal partial class CmdletContext : ExecutorContext { public Amazon.IoT.PackageVersionAction Action { get; set; } + public System.String S3Location_Bucket { get; set; } + public System.String S3Location_Key { get; set; } + public System.String S3Location_Version { get; set; } public Dictionary Attribute { get; set; } public System.String ClientToken { get; set; } public System.String Description { get; set; } public System.String PackageName { get; set; } + public System.String Recipe { get; set; } public System.String VersionName { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => null; diff --git a/modules/AWSPowerShell/Cmdlets/IoTDeviceAdvisor/AmazonIoTDeviceAdvisorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTDeviceAdvisor/AmazonIoTDeviceAdvisorClientCmdlet.cs index 3607835c1b..c2f156a073 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTDeviceAdvisor/AmazonIoTDeviceAdvisorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTDeviceAdvisor/AmazonIoTDeviceAdvisorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTDeviceAdvisor CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTDeviceAdvisorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTEvents/AmazonIoTEventsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTEvents/AmazonIoTEventsClientCmdlet.cs index 0a12e3c35d..68dcb4fc98 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTEvents/AmazonIoTEventsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTEvents/AmazonIoTEventsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTEvents CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTEventsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTEventsData/AmazonIoTEventsDataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTEventsData/AmazonIoTEventsDataClientCmdlet.cs index ef0259a941..3614bbc8a1 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTEventsData/AmazonIoTEventsDataClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTEventsData/AmazonIoTEventsDataClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTEventsData CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTEventsDataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTFleetHub/AmazonIoTFleetHubClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTFleetHub/AmazonIoTFleetHubClientCmdlet.cs index 2ab7835eab..f5d9a6f167 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTFleetHub/AmazonIoTFleetHubClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTFleetHub/AmazonIoTFleetHubClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTFleetHub CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTFleetHubConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTFleetWise/AmazonIoTFleetWiseClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTFleetWise/AmazonIoTFleetWiseClientCmdlet.cs index d10a25dc38..7a4752462c 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTFleetWise/AmazonIoTFleetWiseClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTFleetWise/AmazonIoTFleetWiseClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTFleetWise CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTFleetWiseConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTJobsDataPlane/AmazonIoTJobsDataPlaneClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTJobsDataPlane/AmazonIoTJobsDataPlaneClientCmdlet.cs index bca5659a2e..a174e3ffa3 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTJobsDataPlane/AmazonIoTJobsDataPlaneClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTJobsDataPlane/AmazonIoTJobsDataPlaneClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTJobsDataPlane CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTJobsDataPlaneConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTSecureTunneling/AmazonIoTSecureTunnelingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTSecureTunneling/AmazonIoTSecureTunnelingClientCmdlet.cs index b33d94a799..838426882a 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTSecureTunneling/AmazonIoTSecureTunnelingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTSecureTunneling/AmazonIoTSecureTunnelingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTSecureTunneling CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTSecureTunnelingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTSiteWise/AmazonIoTSiteWiseClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTSiteWise/AmazonIoTSiteWiseClientCmdlet.cs index f85a019308..d83e145bca 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTSiteWise/AmazonIoTSiteWiseClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTSiteWise/AmazonIoTSiteWiseClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTSiteWise CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTSiteWiseConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTThingsGraph/AmazonIoTThingsGraphClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTThingsGraph/AmazonIoTThingsGraphClientCmdlet.cs index 2c287c9834..0302f3e2d7 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTThingsGraph/AmazonIoTThingsGraphClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTThingsGraph/AmazonIoTThingsGraphClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTThingsGraph CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTThingsGraphConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTTwinMaker/AmazonIoTTwinMakerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTTwinMaker/AmazonIoTTwinMakerClientCmdlet.cs index bf8762045b..e2b9fb8dd5 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTTwinMaker/AmazonIoTTwinMakerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTTwinMaker/AmazonIoTTwinMakerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTTwinMaker CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTTwinMakerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/IoTWireless/AmazonIoTWirelessClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/IoTWireless/AmazonIoTWirelessClientCmdlet.cs index 08777f5eb7..2eca56a165 100644 --- a/modules/AWSPowerShell/Cmdlets/IoTWireless/AmazonIoTWirelessClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/IoTWireless/AmazonIoTWirelessClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIoTWireless CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIoTWirelessConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Ivschat/AmazonIvschatClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Ivschat/AmazonIvschatClientCmdlet.cs index ecddbebf6e..b9cb12940b 100644 --- a/modules/AWSPowerShell/Cmdlets/Ivschat/AmazonIvschatClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Ivschat/AmazonIvschatClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonIvschat CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonIvschatConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Add-IVSCResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Add-IVSCResourceTag-Cmdlet.cs index ed52b3b3ea..8ff65f30e3 100644 --- a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Add-IVSCResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Add-IVSCResourceTag-Cmdlet.cs @@ -63,10 +63,10 @@ public partial class AddIVSCResourceTagCmdlet : AmazonIvschatClientCmdlet, IExec /// /// /// Array of tags to be added or updated. Array of maps, each of the form string:string - /// (key:value). See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS Chat has no constraints beyond what is - /// documented there. + /// (key:value). See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS Chat has no constraints beyond what is documented there. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCLoggingConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCLoggingConfiguration-Cmdlet.cs index 4452ea5d59..6a39f704cf 100644 --- a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCLoggingConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCLoggingConfiguration-Cmdlet.cs @@ -88,10 +88,11 @@ public partial class NewIVSCLoggingConfigurationCmdlet : AmazonIvschatClientCmdl /// /// /// Tags to attach to the resource. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS Chat has no constraints on tags beyond - /// what is documented there. + /// See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS Chat has no constraints on tags beyond what is documented + /// there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCRoom-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCRoom-Cmdlet.cs index f49b6abb20..60eaa31ef3 100644 --- a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCRoom-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/New-IVSCRoom-Cmdlet.cs @@ -105,10 +105,10 @@ public partial class NewIVSCRoomCmdlet : AmazonIvschatClientCmdlet, IExecutor /// /// /// Tags to attach to the resource. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS Chat has no constraints beyond what is - /// documented there. + /// See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS Chat has no constraints beyond what is documented there. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Remove-IVSCResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Remove-IVSCResourceTag-Cmdlet.cs index 02b65826d0..269f19d50d 100644 --- a/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Remove-IVSCResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Ivschat/Basic/Remove-IVSCResourceTag-Cmdlet.cs @@ -63,10 +63,10 @@ public partial class RemoveIVSCResourceTagCmdlet : AmazonIvschatClientCmdlet, IE /// /// /// Array of tags to be removed. Array of maps, each of the form string:string (key:value). - /// See Tagging - /// AWS Resources for details, including restrictions that apply to tags and "Tag - /// naming limits and requirements"; Amazon IVS Chat has no constraints beyond what is - /// documented there. + /// See Best + /// practices and strategies in Tagging Amazon Web Services Resources and Tag Editor + /// for details, including restrictions that apply to tags and "Tag naming limits and + /// requirements"; Amazon IVS Chat has no constraints beyond what is documented there. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Kafka/AmazonKafkaClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Kafka/AmazonKafkaClientCmdlet.cs index e8f2944723..0de2c56686 100644 --- a/modules/AWSPowerShell/Cmdlets/Kafka/AmazonKafkaClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Kafka/AmazonKafkaClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKafka CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKafkaConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Kafka/Basic/Get-MSKBootstrapBroker-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Kafka/Basic/Get-MSKBootstrapBroker-Cmdlet.cs index dbfd496bc5..15e7b65721 100644 --- a/modules/AWSPowerShell/Cmdlets/Kafka/Basic/Get-MSKBootstrapBroker-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Kafka/Basic/Get-MSKBootstrapBroker-Cmdlet.cs @@ -28,7 +28,11 @@ namespace Amazon.PowerShell.Cmdlets.MSK { /// - /// A list of brokers that a client application can use to bootstrap. + /// A list of brokers that a client application can use to bootstrap. This list doesn't + /// necessarily include all of the brokers in the cluster. The following Python 3.6 example + /// shows how you can use the Amazon Resource Name (ARN) of a cluster to get its bootstrap + /// brokers. If you don't know the ARN of your cluster, you can use the ListClusters + /// operation to get the ARNs of all the clusters in this account and Region. /// [Cmdlet("Get", "MSKBootstrapBroker")] [OutputType("System.String")] diff --git a/modules/AWSPowerShell/Cmdlets/KafkaConnect/AmazonKafkaConnectClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KafkaConnect/AmazonKafkaConnectClientCmdlet.cs index 9349b17ab3..7662e9897a 100644 --- a/modules/AWSPowerShell/Cmdlets/KafkaConnect/AmazonKafkaConnectClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KafkaConnect/AmazonKafkaConnectClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKafkaConnect CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKafkaConnectConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Kendra/AmazonKendraClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Kendra/AmazonKendraClientCmdlet.cs index 8b4446919a..b149e25264 100644 --- a/modules/AWSPowerShell/Cmdlets/Kendra/AmazonKendraClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Kendra/AmazonKendraClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKendra CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKendraConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KendraRanking/AmazonKendraRankingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KendraRanking/AmazonKendraRankingClientCmdlet.cs index 9f9ed111d3..8fde45fe1f 100644 --- a/modules/AWSPowerShell/Cmdlets/KendraRanking/AmazonKendraRankingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KendraRanking/AmazonKendraRankingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKendraRanking CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKendraRankingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KeyManagementService/AmazonKeyManagementServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KeyManagementService/AmazonKeyManagementServiceClientCmdlet.cs index 528ceb4650..f10a9a30ea 100644 --- a/modules/AWSPowerShell/Cmdlets/KeyManagementService/AmazonKeyManagementServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KeyManagementService/AmazonKeyManagementServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKeyManagementService CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKeyManagementServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Keyspaces/AmazonKeyspacesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Keyspaces/AmazonKeyspacesClientCmdlet.cs index ac6ddeb547..0164af4a52 100644 --- a/modules/AWSPowerShell/Cmdlets/Keyspaces/AmazonKeyspacesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Keyspaces/AmazonKeyspacesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKeyspaces CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKeyspacesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Kinesis/AmazonKinesisClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Kinesis/AmazonKinesisClientCmdlet.cs index b53666f388..c2ec760e3c 100644 --- a/modules/AWSPowerShell/Cmdlets/Kinesis/AmazonKinesisClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Kinesis/AmazonKinesisClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesis CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/New-KINStream-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/New-KINStream-Cmdlet.cs index 824153a1e2..ade5bd3835 100644 --- a/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/New-KINStream-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/New-KINStream-Cmdlet.cs @@ -70,6 +70,12 @@ namespace Amazon.PowerShell.Cmdlets.KIN /// You can use DescribeStreamSummary to check the stream status, which is returned /// in StreamStatus. /// CreateStream has a limit of five transactions per second per account. + /// + /// You can add tags to the stream when making a CreateStream request by setting + /// the Tags parameter. If you pass Tags parameter, in addition to having + /// kinesis:createStream permission, you must also have kinesis:addTagsToStream + /// permission for the stream that will be created. Tags will take effect from the CREATING + /// status of the stream. /// /// [Cmdlet("New", "KINStream", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -129,6 +135,17 @@ public partial class NewKINStreamCmdlet : AmazonKinesisClientCmdlet, IExecutor public System.String StreamName { get; set; } #endregion + #region Parameter Tag + /// + /// + /// A set of up to 10 key-value pairs to use to create the tags. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. @@ -199,6 +216,14 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter StreamName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -242,6 +267,10 @@ public object Execute(ExecutorContext context) { request.StreamName = cmdletContext.StreamName; } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } CmdletOutput output; @@ -306,6 +335,7 @@ internal partial class CmdletContext : ExecutorContext public System.Int32? ShardCount { get; set; } public Amazon.Kinesis.StreamMode StreamModeDetails_StreamMode { get; set; } public System.String StreamName { get; set; } + public Dictionary Tag { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/Register-KINStreamConsumer-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/Register-KINStreamConsumer-Cmdlet.cs index a7d27b750e..7b79b244ac 100644 --- a/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/Register-KINStreamConsumer-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Kinesis/Basic/Register-KINStreamConsumer-Cmdlet.cs @@ -39,7 +39,7 @@ namespace Amazon.PowerShell.Cmdlets.KIN /// You can register up to 20 consumers per stream. A given consumer can only be registered /// with one stream at a time. /// - /// For an example of how to use this operations, see Enhanced + /// For an example of how to use this operation, see Enhanced /// Fan-Out Using the Kinesis Data Streams API. /// /// The use of this operation has a limit of five transactions per second per account. diff --git a/modules/AWSPowerShell/Cmdlets/KinesisAnalytics/AmazonKinesisAnalyticsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KinesisAnalytics/AmazonKinesisAnalyticsClientCmdlet.cs index ec395ab274..23e17d771e 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisAnalytics/AmazonKinesisAnalyticsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KinesisAnalytics/AmazonKinesisAnalyticsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesisAnalytics CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisAnalyticsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AWS.Tools.KinesisAnalyticsV2.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AWS.Tools.KinesisAnalyticsV2.Completers.psm1 index a9665916b9..2982b2ca75 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AWS.Tools.KinesisAnalyticsV2.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AWS.Tools.KinesisAnalyticsV2.Completers.psm1 @@ -100,7 +100,7 @@ $KINA2_Completers = { ($_ -eq "Update-KINA2Application/RuntimeEnvironmentUpdate") } { - $v = "FLINK-1_11","FLINK-1_13","FLINK-1_15","FLINK-1_18","FLINK-1_19","FLINK-1_6","FLINK-1_8","SQL-1_0","ZEPPELIN-FLINK-1_0","ZEPPELIN-FLINK-2_0","ZEPPELIN-FLINK-3_0" + $v = "FLINK-1_11","FLINK-1_13","FLINK-1_15","FLINK-1_18","FLINK-1_19","FLINK-1_20","FLINK-1_6","FLINK-1_8","SQL-1_0","ZEPPELIN-FLINK-1_0","ZEPPELIN-FLINK-2_0","ZEPPELIN-FLINK-3_0" break } diff --git a/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AmazonKinesisAnalyticsV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AmazonKinesisAnalyticsV2ClientCmdlet.cs index 654bea6d9a..f4600f36b6 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AmazonKinesisAnalyticsV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KinesisAnalyticsV2/AmazonKinesisAnalyticsV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesisAnalyticsV2 CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisAnalyticsV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KinesisFirehose/AmazonKinesisFirehoseClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KinesisFirehose/AmazonKinesisFirehoseClientCmdlet.cs index 70a138ece3..c622dc3035 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisFirehose/AmazonKinesisFirehoseClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KinesisFirehose/AmazonKinesisFirehoseClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesisFirehose CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisFirehoseConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KinesisVideo/AmazonKinesisVideoClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KinesisVideo/AmazonKinesisVideoClientCmdlet.cs index 41e5666759..757e5c607d 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisVideo/AmazonKinesisVideoClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KinesisVideo/AmazonKinesisVideoClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesisVideo CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisVideoConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KinesisVideoMedia/AmazonKinesisVideoMediaClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KinesisVideoMedia/AmazonKinesisVideoMediaClientCmdlet.cs index 29b73ad4d7..460a1efc72 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisVideoMedia/AmazonKinesisVideoMediaClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KinesisVideoMedia/AmazonKinesisVideoMediaClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesisVideoMedia CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisVideoMediaConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KinesisVideoSignalingChannels/AmazonKinesisVideoSignalingChannelsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KinesisVideoSignalingChannels/AmazonKinesisVideoSignalingChannelsClientCmdlet.cs index 6eb4bb6f1c..9d80dfda14 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisVideoSignalingChannels/AmazonKinesisVideoSignalingChannelsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KinesisVideoSignalingChannels/AmazonKinesisVideoSignalingChannelsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesisVideoSignalingChannels CreateClient(AWSCredentials crede return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisVideoSignalingChannelsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/KinesisVideoWebRTCStorage/AmazonKinesisVideoWebRTCStorageClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/KinesisVideoWebRTCStorage/AmazonKinesisVideoWebRTCStorageClientCmdlet.cs index fa2aa63aed..d17eb8c766 100644 --- a/modules/AWSPowerShell/Cmdlets/KinesisVideoWebRTCStorage/AmazonKinesisVideoWebRTCStorageClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/KinesisVideoWebRTCStorage/AmazonKinesisVideoWebRTCStorageClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonKinesisVideoWebRTCStorage CreateClient(AWSCredentials credentia return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonKinesisVideoWebRTCStorageConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LakeFormation/AmazonLakeFormationClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LakeFormation/AmazonLakeFormationClientCmdlet.cs index 2c73bab6d1..a82ff80650 100644 --- a/modules/AWSPowerShell/Cmdlets/LakeFormation/AmazonLakeFormationClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LakeFormation/AmazonLakeFormationClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLakeFormation CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLakeFormationConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/AmazonLambdaClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/AmazonLambdaClientCmdlet.cs index f4a606c320..8934743c94 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/AmazonLambdaClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/AmazonLambdaClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLambda CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLambdaConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMPermission-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMPermission-Cmdlet.cs index 1863baf994..0a9f2d28f2 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMPermission-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMPermission-Cmdlet.cs @@ -28,20 +28,19 @@ namespace Amazon.PowerShell.Cmdlets.LM { /// - /// Grants an Amazon Web Servicesservice, Amazon Web Services account, or Amazon Web Services - /// organization permission to use a function. You can apply the policy at the function - /// level, or specify a qualifier to restrict access to a single version or alias. If - /// you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that - /// version or alias to invoke the function. Note: Lambda does not support adding policies - /// to version $LATEST. + /// Grants a principal + /// permission to use a function. You can apply the policy at the function level, or specify + /// a qualifier to restrict access to a single version or alias. If you use a qualifier, + /// the invoker must use the full Amazon Resource Name (ARN) of that version or alias + /// to invoke the function. Note: Lambda does not support adding policies to version $LATEST. /// /// /// /// To grant permission to another account, specify the account ID as the Principal. /// To grant permission to an organization defined in Organizations, specify the organization - /// ID as the PrincipalOrgID. For Amazon Web Servicesservices, the principal is + /// ID as the PrincipalOrgID. For Amazon Web Services services, the principal is /// a domain-style identifier that the service defines, such as s3.amazonaws.com - /// or sns.amazonaws.com. For Amazon Web Servicesservices, you can also specify + /// or sns.amazonaws.com. For Amazon Web Services services, you can also specify /// the ARN of the associated resource as the SourceArn. If you grant permission /// to a service principal without specifying the source, other accounts could potentially /// configure resources in their account to invoke your Lambda function. @@ -129,9 +128,9 @@ public partial class AddLMPermissionCmdlet : AmazonLambdaClientCmdlet, IExecutor #region Parameter Principal /// /// - /// The Amazon Web Servicesservice or Amazon Web Services account that invokes the function. - /// If you specify a service, use SourceArn or SourceAccount to limit who - /// can invoke the function through that service. + /// The Amazon Web Services service, Amazon Web Services account, IAM user, or IAM role + /// that invokes the function. If you specify a service, use SourceArn or SourceAccount + /// to limit who can invoke the function through that service. /// /// #if !MODULAR @@ -180,7 +179,7 @@ public partial class AddLMPermissionCmdlet : AmazonLambdaClientCmdlet, IExecutor #region Parameter SourceAccount /// /// - /// For Amazon Web Servicesservice, the ID of the Amazon Web Services account that owns + /// For Amazon Web Services service, the ID of the Amazon Web Services account that owns /// the resource. Use this together with SourceArn to ensure that the specified /// account owns the resource. It is possible for an Amazon S3 bucket to be deleted by /// its owner and recreated by another account. @@ -193,7 +192,7 @@ public partial class AddLMPermissionCmdlet : AmazonLambdaClientCmdlet, IExecutor #region Parameter SourceArn /// /// - /// For Amazon Web Servicesservices, the ARN of the Amazon Web Services resource that + /// For Amazon Web Services services, the ARN of the Amazon Web Services resource that /// invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.Note that Lambda configures the comparison using the StringLike operator. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMResourceTag-Cmdlet.cs index 76cb8aca5f..4636299358 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Add-LMResourceTag-Cmdlet.cs @@ -29,7 +29,7 @@ namespace Amazon.PowerShell.Cmdlets.LM { /// /// Adds tags - /// to a function. + /// to a function, event source mapping, or code signing configuration. /// [Cmdlet("Add", "LMResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] @@ -46,7 +46,7 @@ public partial class AddLMResourceTagCmdlet : AmazonLambdaClientCmdlet, IExecuto #region Parameter Resource /// /// - /// The function's Amazon Resource Name (ARN). + /// The resource's Amazon Resource Name (ARN). /// /// #if !MODULAR @@ -63,7 +63,7 @@ public partial class AddLMResourceTagCmdlet : AmazonLambdaClientCmdlet, IExecuto #region Parameter Tag /// /// - /// A list of tags to apply to the function. + /// A list of tags to apply to the resource. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Get-LMResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Get-LMResourceTag-Cmdlet.cs index 844b86ff4f..85a0d6de11 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Get-LMResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Get-LMResourceTag-Cmdlet.cs @@ -28,8 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.LM { /// - /// Returns a function's tags. - /// You can also view tags with GetFunction. + /// Returns a function, event source mapping, or code signing configuration's tags. + /// You can also view function tags with GetFunction. /// [Cmdlet("Get", "LMResourceTag")] [OutputType("System.String")] @@ -46,8 +46,8 @@ public partial class GetLMResourceTagCmdlet : AmazonLambdaClientCmdlet, IExecuto #region Parameter Resource /// /// - /// The function's Amazon Resource Name (ARN). Note: Lambda does not support adding tags - /// to aliases or versions. + /// The resource's Amazon Resource Name (ARN). Note: Lambda does not support adding tags + /// to function aliases or versions. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMCodeSigningConfig-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMCodeSigningConfig-Cmdlet.cs index eef5104160..d508f0bd55 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMCodeSigningConfig-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMCodeSigningConfig-Cmdlet.cs @@ -73,6 +73,17 @@ public partial class NewLMCodeSigningConfigCmdlet : AmazonLambdaClientCmdlet, IE public System.String[] AllowedPublishers_SigningProfileVersionArn { get; set; } #endregion + #region Parameter Tag + /// + /// + /// A list of tags to add to the code signing configuration. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + #region Parameter CodeSigningPolicies_UntrustedArtifactOnDeployment /// /// @@ -141,6 +152,14 @@ protected override void ProcessRecord() #endif context.CodeSigningPolicies_UntrustedArtifactOnDeployment = this.CodeSigningPolicies_UntrustedArtifactOnDeployment; context.Description = this.Description; + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -199,6 +218,10 @@ public object Execute(ExecutorContext context) { request.Description = cmdletContext.Description; } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } CmdletOutput output; @@ -263,6 +286,7 @@ internal partial class CmdletContext : ExecutorContext public List AllowedPublishers_SigningProfileVersionArn { get; set; } public Amazon.Lambda.CodeSigningPolicy CodeSigningPolicies_UntrustedArtifactOnDeployment { get; set; } public System.String Description { get; set; } + public Dictionary Tag { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; } diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMEventSourceMapping-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMEventSourceMapping-Cmdlet.cs index 150c2552c7..804ac60b34 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMEventSourceMapping-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/New-LMEventSourceMapping-Cmdlet.cs @@ -396,6 +396,17 @@ public partial class NewLMEventSourceMappingCmdlet : AmazonLambdaClientCmdlet, I public System.DateTime? StartingPositionTimestamp { get; set; } #endregion + #region Parameter Tag + /// + /// + /// A list of tags to apply to the event source mapping. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + #region Parameter Topic /// /// @@ -544,6 +555,14 @@ protected override void ProcessRecord() } context.StartingPosition = this.StartingPosition; context.StartingPositionTimestamp = this.StartingPositionTimestamp; + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } if (this.Topic != null) { context.Topic = new List(this.Topic); @@ -818,6 +837,10 @@ public object Execute(ExecutorContext context) { request.StartingPositionTimestamp = cmdletContext.StartingPositionTimestamp.Value; } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } if (cmdletContext.Topic != null) { request.Topics = cmdletContext.Topic; @@ -912,6 +935,7 @@ internal partial class CmdletContext : ExecutorContext public List SourceAccessConfiguration { get; set; } public Amazon.Lambda.EventSourcePosition StartingPosition { get; set; } public System.DateTime? StartingPositionTimestamp { get; set; } + public Dictionary Tag { get; set; } public List Topic { get; set; } public System.Int32? TumblingWindowInSecond { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Publish-LMFunction-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Publish-LMFunction-Cmdlet.cs index 9a4c322805..83742c6dbb 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Publish-LMFunction-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Publish-LMFunction-Cmdlet.cs @@ -32,8 +32,8 @@ namespace Amazon.PowerShell.Cmdlets.LM /// package and an execution /// role. The deployment package is a .zip file archive or container image that contains /// your function code. The execution role grants the function permission to use Amazon - /// Web Servicesservices, such as Amazon CloudWatch Logs for log streaming and X-Ray for - /// request tracing. + /// Web Services services, such as Amazon CloudWatch Logs for log streaming and X-Ray + /// for request tracing. /// /// /// @@ -76,13 +76,13 @@ namespace Amazon.PowerShell.Cmdlets.LM /// configuration includes set of signing profiles, which define the trusted publishers /// for this function. /// - /// If another Amazon Web Services account or an Amazon Web Servicesservice invokes your + /// If another Amazon Web Services account or an Amazon Web Services service invokes your /// function, use AddPermission to grant permission by creating a resource-based /// Identity and Access Management (IAM) policy. You can grant permissions at the function /// level, on a version, or on an alias. /// /// To invoke your function directly, use Invoke. To invoke your function in response - /// to events in other Amazon Web Servicesservices, create an event source mapping (CreateEventSourceMapping), + /// to events in other Amazon Web Services services, create an event source mapping (CreateEventSourceMapping), /// or configure a function trigger in the other service. For more information, see Invoking /// Lambda functions. /// diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMFunction-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMFunction-Cmdlet.cs index ef0cd40d97..74738536ff 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMFunction-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMFunction-Cmdlet.cs @@ -35,7 +35,7 @@ namespace Amazon.PowerShell.Cmdlets.LM /// /// /// To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. - /// For Amazon Web Servicesservices and resources that invoke your function directly, + /// For Amazon Web Services services and resources that invoke your function directly, /// delete the trigger in the service where you originally configured it. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMPermission-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMPermission-Cmdlet.cs index 7ec88e49d3..8843ce24f8 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMPermission-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMPermission-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.LM { /// - /// Revokes function-use permission from an Amazon Web Servicesservice or another Amazon + /// Revokes function-use permission from an Amazon Web Services service or another Amazon /// Web Services account. You can get the ID of the statement from the output of GetPolicy. /// [Cmdlet("Remove", "LMPermission", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMResourceTag-Cmdlet.cs index 6d808d17d9..7b01857d43 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Remove-LMResourceTag-Cmdlet.cs @@ -29,7 +29,7 @@ namespace Amazon.PowerShell.Cmdlets.LM { /// /// Removes tags - /// from a function. + /// from a function, event source mapping, or code signing configuration. /// [Cmdlet("Remove", "LMResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] @@ -46,7 +46,7 @@ public partial class RemoveLMResourceTagCmdlet : AmazonLambdaClientCmdlet, IExec #region Parameter Resource /// /// - /// The function's Amazon Resource Name (ARN). + /// The resource's Amazon Resource Name (ARN). /// /// #if !MODULAR @@ -63,7 +63,7 @@ public partial class RemoveLMResourceTagCmdlet : AmazonLambdaClientCmdlet, IExec #region Parameter TagKey /// /// - /// A list of tag keys to remove from the function. + /// A list of tag keys to remove from the resource. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Update-LMFunctionConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Update-LMFunctionConfiguration-Cmdlet.cs index db242d2509..607fed19d9 100644 --- a/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Update-LMFunctionConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lambda/Basic/Update-LMFunctionConfiguration-Cmdlet.cs @@ -46,7 +46,8 @@ namespace Amazon.PowerShell.Cmdlets.LM /// version. /// /// To configure function concurrency, use PutFunctionConcurrency. To grant invoke - /// permissions to an Amazon Web Services account or Amazon Web Servicesservice, use AddPermission. + /// permissions to an Amazon Web Services account or Amazon Web Services service, use + /// AddPermission. /// /// [Cmdlet("Update", "LMFunctionConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] diff --git a/modules/AWSPowerShell/Cmdlets/LaunchWizard/AmazonLaunchWizardClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LaunchWizard/AmazonLaunchWizardClientCmdlet.cs index 553f3c22fe..db054dddfc 100644 --- a/modules/AWSPowerShell/Cmdlets/LaunchWizard/AmazonLaunchWizardClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LaunchWizard/AmazonLaunchWizardClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLaunchWizard CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLaunchWizardConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Lex/AmazonLexClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lex/AmazonLexClientCmdlet.cs index 182b24fc2f..5c04cc9390 100644 --- a/modules/AWSPowerShell/Cmdlets/Lex/AmazonLexClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lex/AmazonLexClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLex CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLexConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LexModelBuildingService/AmazonLexModelBuildingServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LexModelBuildingService/AmazonLexModelBuildingServiceClientCmdlet.cs index 3a71197319..421dd9bec3 100644 --- a/modules/AWSPowerShell/Cmdlets/LexModelBuildingService/AmazonLexModelBuildingServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LexModelBuildingService/AmazonLexModelBuildingServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLexModelBuildingService CreateClient(AWSCredentials credentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLexModelBuildingServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LexModelsV2/AWS.Tools.LexModelsV2.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/LexModelsV2/AWS.Tools.LexModelsV2.Completers.psm1 index 593143f5cd..14cb090b02 100644 --- a/modules/AWSPowerShell/Cmdlets/LexModelsV2/AWS.Tools.LexModelsV2.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/LexModelsV2/AWS.Tools.LexModelsV2.Completers.psm1 @@ -495,7 +495,7 @@ $LMBV2_Completers = { ($_ -eq "Update-LMBV2BotLocale/VoiceSettings_Engine") } { - $v = "neural","standard" + $v = "generative","long-form","neural","standard" break } diff --git a/modules/AWSPowerShell/Cmdlets/LexModelsV2/AmazonLexModelsV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LexModelsV2/AmazonLexModelsV2ClientCmdlet.cs index f25e17784c..3699e75fc0 100644 --- a/modules/AWSPowerShell/Cmdlets/LexModelsV2/AmazonLexModelsV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LexModelsV2/AmazonLexModelsV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLexModelsV2 CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLexModelsV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LexRuntimeV2/AmazonLexRuntimeV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LexRuntimeV2/AmazonLexRuntimeV2ClientCmdlet.cs index 8eed8ed23b..c406b797e1 100644 --- a/modules/AWSPowerShell/Cmdlets/LexRuntimeV2/AmazonLexRuntimeV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LexRuntimeV2/AmazonLexRuntimeV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLexRuntimeV2 CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLexRuntimeV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LicenseManager/AmazonLicenseManagerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LicenseManager/AmazonLicenseManagerClientCmdlet.cs index d903a5cff4..c5e09c8fe7 100644 --- a/modules/AWSPowerShell/Cmdlets/LicenseManager/AmazonLicenseManagerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LicenseManager/AmazonLicenseManagerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLicenseManager CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLicenseManagerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LicenseManagerLinuxSubscriptions/AmazonLicenseManagerLinuxSubscriptionsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LicenseManagerLinuxSubscriptions/AmazonLicenseManagerLinuxSubscriptionsClientCmdlet.cs index fb327f48bd..77bcfd0c92 100644 --- a/modules/AWSPowerShell/Cmdlets/LicenseManagerLinuxSubscriptions/AmazonLicenseManagerLinuxSubscriptionsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LicenseManagerLinuxSubscriptions/AmazonLicenseManagerLinuxSubscriptionsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLicenseManagerLinuxSubscriptions CreateClient(AWSCredentials cr return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLicenseManagerLinuxSubscriptionsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LicenseManagerUserSubscriptions/AmazonLicenseManagerUserSubscriptionsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LicenseManagerUserSubscriptions/AmazonLicenseManagerUserSubscriptionsClientCmdlet.cs index 4713a88af0..4764c2b96e 100644 --- a/modules/AWSPowerShell/Cmdlets/LicenseManagerUserSubscriptions/AmazonLicenseManagerUserSubscriptionsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LicenseManagerUserSubscriptions/AmazonLicenseManagerUserSubscriptionsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLicenseManagerUserSubscriptions CreateClient(AWSCredentials cre return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLicenseManagerUserSubscriptionsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Lightsail/AmazonLightsailClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Lightsail/AmazonLightsailClientCmdlet.cs index e7da4dae1d..6b506c603b 100644 --- a/modules/AWSPowerShell/Cmdlets/Lightsail/AmazonLightsailClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Lightsail/AmazonLightsailClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLightsail CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLightsailConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LocationService/AmazonLocationServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LocationService/AmazonLocationServiceClientCmdlet.cs index 053b3830f5..48bd242426 100644 --- a/modules/AWSPowerShell/Cmdlets/LocationService/AmazonLocationServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LocationService/AmazonLocationServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLocationService CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLocationServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LookoutEquipment/AmazonLookoutEquipmentClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LookoutEquipment/AmazonLookoutEquipmentClientCmdlet.cs index 3ae08bbf60..f844ba8501 100644 --- a/modules/AWSPowerShell/Cmdlets/LookoutEquipment/AmazonLookoutEquipmentClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LookoutEquipment/AmazonLookoutEquipmentClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLookoutEquipment CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLookoutEquipmentConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LookoutMetrics/AmazonLookoutMetricsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LookoutMetrics/AmazonLookoutMetricsClientCmdlet.cs index 86dcede999..6311f3dbb8 100644 --- a/modules/AWSPowerShell/Cmdlets/LookoutMetrics/AmazonLookoutMetricsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LookoutMetrics/AmazonLookoutMetricsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLookoutMetrics CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLookoutMetricsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/LookoutforVision/AmazonLookoutforVisionClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/LookoutforVision/AmazonLookoutforVisionClientCmdlet.cs index abd5600a21..bcb7ec9b71 100644 --- a/modules/AWSPowerShell/Cmdlets/LookoutforVision/AmazonLookoutforVisionClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/LookoutforVision/AmazonLookoutforVisionClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonLookoutforVision CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonLookoutforVisionConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MQ/AmazonMQClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MQ/AmazonMQClientCmdlet.cs index 71546c74e8..90d010adf5 100644 --- a/modules/AWSPowerShell/Cmdlets/MQ/AmazonMQClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MQ/AmazonMQClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMQ CreateClient(AWSCredentials credentials, RegionEndpoint regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMQConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MTurk/AmazonMTurkClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MTurk/AmazonMTurkClientCmdlet.cs index b36736a426..c65049ca8c 100644 --- a/modules/AWSPowerShell/Cmdlets/MTurk/AmazonMTurkClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MTurk/AmazonMTurkClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMTurk CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMTurkConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MWAA/AmazonMWAAClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MWAA/AmazonMWAAClientCmdlet.cs index b67e7f711e..f37e21908a 100644 --- a/modules/AWSPowerShell/Cmdlets/MWAA/AmazonMWAAClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MWAA/AmazonMWAAClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMWAA CreateClient(AWSCredentials credentials, RegionEndpoint re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMWAAConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MachineLearning/AmazonMachineLearningClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MachineLearning/AmazonMachineLearningClientCmdlet.cs index bf421d128b..2002d259f0 100644 --- a/modules/AWSPowerShell/Cmdlets/MachineLearning/AmazonMachineLearningClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MachineLearning/AmazonMachineLearningClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMachineLearning CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMachineLearningConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Macie2/AmazonMacie2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Macie2/AmazonMacie2ClientCmdlet.cs index cf3183059b..c5c68c3f0c 100644 --- a/modules/AWSPowerShell/Cmdlets/Macie2/AmazonMacie2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Macie2/AmazonMacie2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMacie2 CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMacie2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MailManager/AmazonMailManagerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MailManager/AmazonMailManagerClientCmdlet.cs index 8abd4065d9..6cebaf2c69 100644 --- a/modules/AWSPowerShell/Cmdlets/MailManager/AmazonMailManagerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MailManager/AmazonMailManagerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMailManager CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMailManagerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MailManager/Basic/Update-MMGRRuleSet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MailManager/Basic/Update-MMGRRuleSet-Cmdlet.cs index d7ca94f387..e434cd6e0d 100644 --- a/modules/AWSPowerShell/Cmdlets/MailManager/Basic/Update-MMGRRuleSet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MailManager/Basic/Update-MMGRRuleSet-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.MMGR { /// - /// >Update attributes of an already provisioned rule set. + /// Update attributes of an already provisioned rule set. /// [Cmdlet("Update", "MMGRRuleSet", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/MainframeModernization/AmazonMainframeModernizationClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MainframeModernization/AmazonMainframeModernizationClientCmdlet.cs index 232519ddcf..34eeeab054 100644 --- a/modules/AWSPowerShell/Cmdlets/MainframeModernization/AmazonMainframeModernizationClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MainframeModernization/AmazonMainframeModernizationClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMainframeModernization CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMainframeModernizationConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ManagedBlockchain/AmazonManagedBlockchainClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ManagedBlockchain/AmazonManagedBlockchainClientCmdlet.cs index e9c0e411d3..cfd13316e9 100644 --- a/modules/AWSPowerShell/Cmdlets/ManagedBlockchain/AmazonManagedBlockchainClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ManagedBlockchain/AmazonManagedBlockchainClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonManagedBlockchain CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonManagedBlockchainConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ManagedBlockchainQuery/AmazonManagedBlockchainQueryClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ManagedBlockchainQuery/AmazonManagedBlockchainQueryClientCmdlet.cs index 2c0d1cf3cd..d4a778b802 100644 --- a/modules/AWSPowerShell/Cmdlets/ManagedBlockchainQuery/AmazonManagedBlockchainQueryClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ManagedBlockchainQuery/AmazonManagedBlockchainQueryClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonManagedBlockchainQuery CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonManagedBlockchainQueryConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ManagedGrafana/AmazonManagedGrafanaClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ManagedGrafana/AmazonManagedGrafanaClientCmdlet.cs index 7de0876382..fa755bc4f8 100644 --- a/modules/AWSPowerShell/Cmdlets/ManagedGrafana/AmazonManagedGrafanaClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ManagedGrafana/AmazonManagedGrafanaClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonManagedGrafana CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonManagedGrafanaConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MarketplaceAgreement/AmazonMarketplaceAgreementClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MarketplaceAgreement/AmazonMarketplaceAgreementClientCmdlet.cs index cde519a7db..6627cbe58e 100644 --- a/modules/AWSPowerShell/Cmdlets/MarketplaceAgreement/AmazonMarketplaceAgreementClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MarketplaceAgreement/AmazonMarketplaceAgreementClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMarketplaceAgreement CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMarketplaceAgreementConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MarketplaceCatalog/AmazonMarketplaceCatalogClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MarketplaceCatalog/AmazonMarketplaceCatalogClientCmdlet.cs index c52daa5e65..cc0d06cb23 100644 --- a/modules/AWSPowerShell/Cmdlets/MarketplaceCatalog/AmazonMarketplaceCatalogClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MarketplaceCatalog/AmazonMarketplaceCatalogClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMarketplaceCatalog CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMarketplaceCatalogConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MarketplaceDeployment/AmazonMarketplaceDeploymentClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MarketplaceDeployment/AmazonMarketplaceDeploymentClientCmdlet.cs index 014e93d45b..c809bcf644 100644 --- a/modules/AWSPowerShell/Cmdlets/MarketplaceDeployment/AmazonMarketplaceDeploymentClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MarketplaceDeployment/AmazonMarketplaceDeploymentClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMarketplaceDeployment CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMarketplaceDeploymentConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MarketplaceEntitlementService/AmazonMarketplaceEntitlementServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MarketplaceEntitlementService/AmazonMarketplaceEntitlementServiceClientCmdlet.cs index 70ecba0165..e032351e3b 100644 --- a/modules/AWSPowerShell/Cmdlets/MarketplaceEntitlementService/AmazonMarketplaceEntitlementServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MarketplaceEntitlementService/AmazonMarketplaceEntitlementServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMarketplaceEntitlementService CreateClient(AWSCredentials crede return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMarketplaceEntitlementServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.Completers.psm1 index 3c82e3a625..7e0d301a17 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.Completers.psm1 @@ -189,6 +189,16 @@ $EMCN_Completers = { break } + # Amazon.MediaConnect.ThumbnailState + { + ($_ -eq "New-EMCNFlow/SourceMonitoringConfig_ThumbnailState") -Or + ($_ -eq "Update-EMCNFlow/SourceMonitoringConfig_ThumbnailState") + } + { + $v = "DISABLED","ENABLED" + break + } + } @@ -213,6 +223,7 @@ $EMCN_map = @{ "Protocol"=@("Update-EMCNFlowOutput","Update-EMCNFlowSource") "SourceFailoverConfig_FailoverMode"=@("New-EMCNBridge","New-EMCNFlow","Update-EMCNBridge","Update-EMCNFlow") "SourceFailoverConfig_State"=@("New-EMCNBridge","New-EMCNFlow","Update-EMCNBridge","Update-EMCNFlow") + "SourceMonitoringConfig_ThumbnailState"=@("New-EMCNFlow","Update-EMCNFlow") } _awsArgumentCompleterRegistration $EMCN_Completers $EMCN_map @@ -281,6 +292,7 @@ $EMCN_SelectMap = @{ "Get-EMCNBridge", "Get-EMCNFlow", "Get-EMCNFlowSourceMetadata", + "Get-EMCNFlowSourceThumbnail", "Get-EMCNGateway", "Get-EMCNGatewayInstance", "Get-EMCNOffering", diff --git a/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.psd1 b/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.psd1 index a8da9df617..a304348b30 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.psd1 +++ b/modules/AWSPowerShell/Cmdlets/MediaConnect/AWS.Tools.MediaConnect.psd1 @@ -99,6 +99,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-EMCNFlow', 'Get-EMCNFlowList', 'Get-EMCNFlowSourceMetadata', + 'Get-EMCNFlowSourceThumbnail', 'Get-EMCNGateway', 'Get-EMCNGatewayInstance', 'Get-EMCNGatewayInstanceList', diff --git a/modules/AWSPowerShell/Cmdlets/MediaConnect/AmazonMediaConnectClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaConnect/AmazonMediaConnectClientCmdlet.cs index 0aa898d463..89be4b5d68 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConnect/AmazonMediaConnectClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaConnect/AmazonMediaConnectClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaConnect CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaConnectConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDevicePolicyConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/Get-EMCNFlowSourceThumbnail-Cmdlet.cs similarity index 64% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDevicePolicyConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/Get-EMCNFlowSourceThumbnail-Cmdlet.cs index 3e07984b5f..2c53e29276 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDevicePolicyConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/Get-EMCNFlowSourceThumbnail-Cmdlet.cs @@ -22,31 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaConnect; +using Amazon.MediaConnect.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EMCN { /// - /// Describes the device policy configuration for the specified fleet.

    This operation is deprecated. + /// Displays the thumbnail details of a flow's source stream. ///
    - [Cmdlet("Get", "WLDevicePolicyConfiguration")] - [OutputType("System.String")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeDevicePolicyConfiguration API operation.", Operation = new[] {"DescribeDevicePolicyConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationResponse))] - [AWSCmdletOutput("System.String or Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationResponse", - "This cmdlet returns a System.String object.", - "The service call response (type Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "EMCNFlowSourceThumbnail")] + [OutputType("Amazon.MediaConnect.Model.ThumbnailDetails")] + [AWSCmdlet("Calls the AWS Elemental MediaConnect DescribeFlowSourceThumbnail API operation.", Operation = new[] {"DescribeFlowSourceThumbnail"}, SelectReturnType = typeof(Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailResponse))] + [AWSCmdletOutput("Amazon.MediaConnect.Model.ThumbnailDetails or Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailResponse", + "This cmdlet returns an Amazon.MediaConnect.Model.ThumbnailDetails object.", + "The service call response (type Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLDevicePolicyConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetEMCNFlowSourceThumbnailCmdlet : AmazonMediaConnectClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter FlowArn /// /// - /// The ARN of the fleet. + /// The Amazon Resource Name (ARN) of the flow. /// /// #if !MODULAR @@ -57,26 +56,26 @@ public partial class GetWLDevicePolicyConfigurationCmdlet : AmazonWorkLinkClient [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String FlowArn { get; set; } #endregion #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'DeviceCaCertificate'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is 'ThumbnailDetails'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailResponse). + /// Specifying the name of a property of type Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "DeviceCaCertificate"; + public string Select { get; set; } = "ThumbnailDetails"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the FlowArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^FlowArn' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FlowArn' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -94,7 +93,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -103,14 +102,14 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.FlowArn; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.FlowArn = this.FlowArn; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.FlowArn == null && ParameterWasBound(nameof(this.FlowArn))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter FlowArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -127,11 +126,11 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationRequest(); + var request = new Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.FlowArn != null) { - request.FleetArn = cmdletContext.FleetArn; + request.FlowArn = cmdletContext.FlowArn; } CmdletOutput output; @@ -166,15 +165,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationRequest request) + private Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailResponse CallAWSServiceOperation(IAmazonMediaConnect client, Amazon.MediaConnect.Model.DescribeFlowSourceThumbnailRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeDevicePolicyConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaConnect", "DescribeFlowSourceThumbnail"); try { #if DESKTOP - return client.DescribeDevicePolicyConfiguration(request); + return client.DescribeFlowSourceThumbnail(request); #elif CORECLR - return client.DescribeDevicePolicyConfigurationAsync(request).GetAwaiter().GetResult(); + return client.DescribeFlowSourceThumbnailAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -194,9 +193,9 @@ private Amazon.WorkLink.Model.DescribeDevicePolicyConfigurationResponse CallAWSS internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.DeviceCaCertificate; + public System.String FlowArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ThumbnailDetails; } } diff --git a/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/New-EMCNFlow-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/New-EMCNFlow-Cmdlet.cs index 24e2074c18..aa5a0e50f3 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/New-EMCNFlow-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/New-EMCNFlow-Cmdlet.cs @@ -188,6 +188,17 @@ public partial class NewEMCNFlowCmdlet : AmazonMediaConnectClientCmdlet, IExecut public Amazon.MediaConnect.State SourceFailoverConfig_State { get; set; } #endregion + #region Parameter SourceMonitoringConfig_ThumbnailState + /// + /// + /// The state of thumbnail monitoring. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaConnect.ThumbnailState")] + public Amazon.MediaConnect.ThumbnailState SourceMonitoringConfig_ThumbnailState { get; set; } + #endregion + #region Parameter VpcInterface /// /// @@ -287,6 +298,7 @@ protected override void ProcessRecord() context.SourceFailoverConfig_RecoveryWindow = this.SourceFailoverConfig_RecoveryWindow; context.SourcePriority_PrimarySource = this.SourcePriority_PrimarySource; context.SourceFailoverConfig_State = this.SourceFailoverConfig_State; + context.SourceMonitoringConfig_ThumbnailState = this.SourceMonitoringConfig_ThumbnailState; if (this.Source != null) { context.Source = new List(this.Source); @@ -424,6 +436,25 @@ public object Execute(ExecutorContext context) { request.SourceFailoverConfig = null; } + + // populate SourceMonitoringConfig + var requestSourceMonitoringConfigIsNull = true; + request.SourceMonitoringConfig = new Amazon.MediaConnect.Model.MonitoringConfig(); + Amazon.MediaConnect.ThumbnailState requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState = null; + if (cmdletContext.SourceMonitoringConfig_ThumbnailState != null) + { + requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState = cmdletContext.SourceMonitoringConfig_ThumbnailState; + } + if (requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState != null) + { + request.SourceMonitoringConfig.ThumbnailState = requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState; + requestSourceMonitoringConfigIsNull = false; + } + // determine if request.SourceMonitoringConfig should be set to null + if (requestSourceMonitoringConfigIsNull) + { + request.SourceMonitoringConfig = null; + } if (cmdletContext.Source != null) { request.Sources = cmdletContext.Source; @@ -504,6 +535,7 @@ internal partial class CmdletContext : ExecutorContext public System.Int32? SourceFailoverConfig_RecoveryWindow { get; set; } public System.String SourcePriority_PrimarySource { get; set; } public Amazon.MediaConnect.State SourceFailoverConfig_State { get; set; } + public Amazon.MediaConnect.ThumbnailState SourceMonitoringConfig_ThumbnailState { get; set; } public List Source { get; set; } public List VpcInterface { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/Update-EMCNFlow-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/Update-EMCNFlow-Cmdlet.cs index a69c33bc99..df7275a333 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/Update-EMCNFlow-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaConnect/Basic/Update-EMCNFlow-Cmdlet.cs @@ -141,6 +141,17 @@ public partial class UpdateEMCNFlowCmdlet : AmazonMediaConnectClientCmdlet, IExe public Amazon.MediaConnect.State SourceFailoverConfig_State { get; set; } #endregion + #region Parameter SourceMonitoringConfig_ThumbnailState + /// + /// + /// The state of thumbnail monitoring. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaConnect.ThumbnailState")] + public Amazon.MediaConnect.ThumbnailState SourceMonitoringConfig_ThumbnailState { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'Flow'. @@ -217,6 +228,7 @@ protected override void ProcessRecord() context.SourceFailoverConfig_RecoveryWindow = this.SourceFailoverConfig_RecoveryWindow; context.SourcePriority_PrimarySource = this.SourcePriority_PrimarySource; context.SourceFailoverConfig_State = this.SourceFailoverConfig_State; + context.SourceMonitoringConfig_ThumbnailState = this.SourceMonitoringConfig_ThumbnailState; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -341,6 +353,25 @@ public object Execute(ExecutorContext context) request.SourceFailoverConfig = null; } + // populate SourceMonitoringConfig + var requestSourceMonitoringConfigIsNull = true; + request.SourceMonitoringConfig = new Amazon.MediaConnect.Model.MonitoringConfig(); + Amazon.MediaConnect.ThumbnailState requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState = null; + if (cmdletContext.SourceMonitoringConfig_ThumbnailState != null) + { + requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState = cmdletContext.SourceMonitoringConfig_ThumbnailState; + } + if (requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState != null) + { + request.SourceMonitoringConfig.ThumbnailState = requestSourceMonitoringConfig_sourceMonitoringConfig_ThumbnailState; + requestSourceMonitoringConfigIsNull = false; + } + // determine if request.SourceMonitoringConfig should be set to null + if (requestSourceMonitoringConfigIsNull) + { + request.SourceMonitoringConfig = null; + } + CmdletOutput output; // issue call @@ -409,6 +440,7 @@ internal partial class CmdletContext : ExecutorContext public System.Int32? SourceFailoverConfig_RecoveryWindow { get; set; } public System.String SourcePriority_PrimarySource { get; set; } public Amazon.MediaConnect.State SourceFailoverConfig_State { get; set; } + public Amazon.MediaConnect.ThumbnailState SourceMonitoringConfig_ThumbnailState { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.Flow; } diff --git a/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.Completers.psm1 index db00c258eb..41bc1a0081 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.Completers.psm1 @@ -312,6 +312,7 @@ $EMC_SelectMap = @{ "Get-EMCPresetList", "Get-EMCQueueList", "Get-EMCResourceTag", + "Get-EMCVersionList", "Write-EMCPolicy", "Search-EMCJob", "Add-EMCResourceTag", diff --git a/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.psd1 b/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.psd1 index fd49aab6df..e14e95b551 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.psd1 +++ b/modules/AWSPowerShell/Cmdlets/MediaConvert/AWS.Tools.MediaConvert.psd1 @@ -98,6 +98,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-EMCQueue', 'Get-EMCQueueList', 'Get-EMCResourceTag', + 'Get-EMCVersionList', 'New-EMCJob', 'New-EMCJobTemplate', 'New-EMCPreset', diff --git a/modules/AWSPowerShell/Cmdlets/MediaConvert/AmazonMediaConvertClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaConvert/AmazonMediaConvertClientCmdlet.cs index 10a792544a..0574ada82d 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConvert/AmazonMediaConvertClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaConvert/AmazonMediaConvertClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaConvert CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaConvertConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaConvert/Basic/Get-EMCVersionList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaConvert/Basic/Get-EMCVersionList-Cmdlet.cs new file mode 100644 index 0000000000..953c5b3de0 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaConvert/Basic/Get-EMCVersionList-Cmdlet.cs @@ -0,0 +1,224 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaConvert; +using Amazon.MediaConvert.Model; + +namespace Amazon.PowerShell.Cmdlets.EMC +{ + /// + /// Retrieve a JSON array of all available Job engine versions and the date they expire.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "EMCVersionList")] + [OutputType("Amazon.MediaConvert.Model.JobEngineVersion")] + [AWSCmdlet("Calls the AWS Elemental MediaConvert ListVersions API operation.", Operation = new[] {"ListVersions"}, SelectReturnType = typeof(Amazon.MediaConvert.Model.ListVersionsResponse))] + [AWSCmdletOutput("Amazon.MediaConvert.Model.JobEngineVersion or Amazon.MediaConvert.Model.ListVersionsResponse", + "This cmdlet returns a collection of Amazon.MediaConvert.Model.JobEngineVersion objects.", + "The service call response (type Amazon.MediaConvert.Model.ListVersionsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetEMCVersionListCmdlet : AmazonMediaConvertClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter MaxResult + /// + /// + /// Optional. Number of valid Job engine versions, + /// up to twenty, that will be returned at one time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// Optional. Use this string, provided with the + /// response to a previous request, to request the next batch of Job engine versions. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Versions'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaConvert.Model.ListVersionsResponse). + /// Specifying the name of a property of type Amazon.MediaConvert.Model.ListVersionsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Versions"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.MediaConvert.Model.ListVersionsRequest(); + + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaConvert.Model.ListVersionsResponse CallAWSServiceOperation(IAmazonMediaConvert client, Amazon.MediaConvert.Model.ListVersionsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaConvert", "ListVersions"); + try + { + #if DESKTOP + return client.ListVersions(request); + #elif CORECLR + return client.ListVersionsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Versions; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/MediaConvert/Basic/New-EMCJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaConvert/Basic/New-EMCJob-Cmdlet.cs index 1a9cf662b0..d7f69ec99b 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaConvert/Basic/New-EMCJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaConvert/Basic/New-EMCJob-Cmdlet.cs @@ -86,6 +86,20 @@ public partial class NewEMCJobCmdlet : AmazonMediaConvertClientCmdlet, IExecutor public Amazon.MediaConvert.Model.HopDestination[] HopDestination { get; set; } #endregion + #region Parameter JobEngineVersion + /// + /// + /// Use Job engine versions to run jobs for + /// your production workflow on one version, while you test and validate the latest version. + /// To specify a Job engine version: Enter a date in a YYYY-MM-DD format. For a list of + /// valid Job engine versions, submit a ListVersions request. To not specify a Job engine + /// version: Leave blank. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String JobEngineVersion { get; set; } + #endregion + #region Parameter JobTemplate /// /// @@ -298,6 +312,7 @@ protected override void ProcessRecord() { context.HopDestination = new List(this.HopDestination); } + context.JobEngineVersion = this.JobEngineVersion; context.JobTemplate = this.JobTemplate; context.Priority = this.Priority; context.Queue = this.Queue; @@ -380,6 +395,10 @@ public object Execute(ExecutorContext context) { request.HopDestinations = cmdletContext.HopDestination; } + if (cmdletContext.JobEngineVersion != null) + { + request.JobEngineVersion = cmdletContext.JobEngineVersion; + } if (cmdletContext.JobTemplate != null) { request.JobTemplate = cmdletContext.JobTemplate; @@ -481,6 +500,7 @@ internal partial class CmdletContext : ExecutorContext public Amazon.MediaConvert.BillingTagsSource BillingTagsSource { get; set; } public System.String ClientRequestToken { get; set; } public List HopDestination { get; set; } + public System.String JobEngineVersion { get; set; } public System.String JobTemplate { get; set; } public System.Int32? Priority { get; set; } public System.String Queue { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.Completers.psm1 index 656319a0fd..b8e4dab48b 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.Completers.psm1 @@ -147,6 +147,13 @@ $EML_Completers = { break } + # Amazon.MediaLive.ClusterType + "New-EMLCluster/ClusterType" + { + $v = "ON_PREMISES" + break + } + # Amazon.MediaLive.EventBridgeRuleTemplateEventType { ($_ -eq "New-EMLEventBridgeRuleTemplate/EventType") -Or @@ -197,6 +204,13 @@ $EML_Completers = { break } + # Amazon.MediaLive.InputNetworkLocation + "New-EMLInput/InputNetworkLocation" + { + $v = "AWS","ON_PREMISES" + break + } + # Amazon.MediaLive.InputResolution { ($_ -eq "New-EMLChannel/InputSpecification_Resolution") -Or @@ -210,7 +224,7 @@ $EML_Completers = { # Amazon.MediaLive.InputType "New-EMLInput/Type" { - $v = "AWS_CDI","INPUT_DEVICE","MEDIACONNECT","MP4_FILE","RTMP_PULL","RTMP_PUSH","RTP_PUSH","SRT_CALLER","TS_FILE","UDP_PUSH","URL_PULL" + $v = "AWS_CDI","INPUT_DEVICE","MEDIACONNECT","MP4_FILE","MULTICAST","RTMP_PULL","RTMP_PUSH","RTP_PUSH","SRT_CALLER","TS_FILE","UDP_PUSH","URL_PULL" break } @@ -234,6 +248,17 @@ $EML_Completers = { break } + # Amazon.MediaLive.NodeRole + { + ($_ -eq "New-EMLNode/Role") -Or + ($_ -eq "New-EMLNodeRegistrationScript/Role") -Or + ($_ -eq "Update-EMLNode/Role") + } + { + $v = "ACTIVE","BACKUP" + break + } + # Amazon.MediaLive.PreferredChannelPipeline { ($_ -eq "New-EMLMultiplexProgram/MultiplexProgramSettings_PreferredChannelPipeline") -Or @@ -261,6 +286,13 @@ $EML_Completers = { break } + # Amazon.MediaLive.UpdateNodeState + "Update-EMLNodeState/State" + { + $v = "ACTIVE","DRAINING" + break + } + } @@ -273,11 +305,13 @@ $EML_map = @{ "Accept"=@("Get-EMLInputDeviceThumbnail") "CdiInputSpecification_Resolution"=@("New-EMLChannel","Update-EMLChannel") "ChannelClass"=@("New-EMLChannel","Update-EMLChannelClass") + "ClusterType"=@("New-EMLCluster") "ComparisonOperator"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") "EventType"=@("New-EMLEventBridgeRuleTemplate","Update-EMLEventBridgeRuleTemplate") "HdDeviceSettings_Codec"=@("Update-EMLInputDevice") "HdDeviceSettings_ConfiguredInput"=@("Update-EMLInputDevice") "IgnoreStreaming"=@("Restart-EMLInputDevice") + "InputNetworkLocation"=@("New-EMLInput") "InputSpecification_Codec"=@("New-EMLChannel","Update-EMLChannel") "InputSpecification_MaximumBitrate"=@("New-EMLChannel","Update-EMLChannel") "InputSpecification_Resolution"=@("New-EMLChannel","Update-EMLChannel") @@ -285,6 +319,8 @@ $EML_map = @{ "Maintenance_MaintenanceDay"=@("New-EMLChannel","Update-EMLChannel") "MultiplexProgramSettings_PreferredChannelPipeline"=@("New-EMLMultiplexProgram","Update-EMLMultiplexProgram") "RenewalSettings_AutomaticRenewal"=@("New-EMLOfferingPurchase","Update-EMLReservation") + "Role"=@("New-EMLNode","New-EMLNodeRegistrationScript","Update-EMLNode") + "State"=@("Update-EMLNodeState") "Statistic"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") "TargetResourceType"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") "TreatMissingData"=@("New-EMLCloudWatchAlarmTemplate","Update-EMLCloudWatchAlarmTemplate") @@ -351,38 +387,51 @@ $EML_SelectMap = @{ "Stop-EMLInputDeviceTransfer", "Request-EMLDevice", "New-EMLChannel", + "New-EMLChannelPlacementGroup", "New-EMLCloudWatchAlarmTemplate", "New-EMLCloudWatchAlarmTemplateGroup", + "New-EMLCluster", "New-EMLEventBridgeRuleTemplate", "New-EMLEventBridgeRuleTemplateGroup", "New-EMLInput", "New-EMLInputSecurityGroup", "New-EMLMultiplex", "New-EMLMultiplexProgram", + "New-EMLNetwork", + "New-EMLNode", + "New-EMLNodeRegistrationScript", "New-EMLPartnerInput", "New-EMLSignalMap", "Add-EMLResourceTag", "Remove-EMLChannel", + "Remove-EMLChannelPlacementGroup", "Remove-EMLCloudWatchAlarmTemplate", "Remove-EMLCloudWatchAlarmTemplateGroup", + "Remove-EMLCluster", "Remove-EMLEventBridgeRuleTemplate", "Remove-EMLEventBridgeRuleTemplateGroup", "Remove-EMLInput", "Remove-EMLInputSecurityGroup", "Remove-EMLMultiplex", "Remove-EMLMultiplexProgram", + "Remove-EMLNetwork", + "Remove-EMLNode", "Remove-EMLReservation", "Remove-EMLSchedule", "Remove-EMLSignalMap", "Remove-EMLResourceTag", "Get-EMLAccountConfiguration", "Get-EMLChannel", + "Get-EMLChannelPlacementGroup", + "Get-EMLCluster", "Get-EMLInput", "Get-EMLInputDevice", "Get-EMLInputDeviceThumbnail", "Get-EMLInputSecurityGroup", "Get-EMLMultiplex", "Get-EMLMultiplexProgram", + "Get-EMLNetwork", + "Get-EMLNode", "Get-EMLOffering", "Get-EMLReservation", "Get-EMLSchedule", @@ -392,9 +441,11 @@ $EML_SelectMap = @{ "Get-EMLEventBridgeRuleTemplate", "Get-EMLEventBridgeRuleTemplateGroup", "Get-EMLSignalMap", + "Get-EMLChannelPlacementGroupList", "Get-EMLChannelList", "Get-EMLCloudWatchAlarmTemplateGroupList", "Get-EMLCloudWatchAlarmTemplateList", + "Get-EMLClusterList", "Get-EMLEventBridgeRuleTemplateGroupList", "Get-EMLEventBridgeRuleTemplateList", "Get-EMLInputDeviceList", @@ -403,6 +454,8 @@ $EML_SelectMap = @{ "Get-EMLInputSecurityGroupList", "Get-EMLMultiplexList", "Get-EMLMultiplexProgramList", + "Get-EMLNetworkList", + "Get-EMLNodeList", "Get-EMLOfferingList", "Get-EMLReservationList", "Get-EMLSignalMapList", @@ -425,8 +478,10 @@ $EML_SelectMap = @{ "Update-EMLAccountConfiguration", "Update-EMLChannel", "Update-EMLChannelClass", + "Update-EMLChannelPlacementGroup", "Update-EMLCloudWatchAlarmTemplate", "Update-EMLCloudWatchAlarmTemplateGroup", + "Update-EMLCluster", "Update-EMLEventBridgeRuleTemplate", "Update-EMLEventBridgeRuleTemplateGroup", "Update-EMLInput", @@ -434,6 +489,9 @@ $EML_SelectMap = @{ "Update-EMLInputSecurityGroup", "Update-EMLMultiplex", "Update-EMLMultiplexProgram", + "Update-EMLNetwork", + "Update-EMLNode", + "Update-EMLNodeState", "Update-EMLReservation") } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.psd1 b/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.psd1 index 0dd049e751..9d42d0a54e 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.psd1 +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/AWS.Tools.MediaLive.psd1 @@ -91,10 +91,14 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-EMLAccountConfiguration', 'Get-EMLChannel', 'Get-EMLChannelList', + 'Get-EMLChannelPlacementGroup', + 'Get-EMLChannelPlacementGroupList', 'Get-EMLCloudWatchAlarmTemplate', 'Get-EMLCloudWatchAlarmTemplateGroup', 'Get-EMLCloudWatchAlarmTemplateGroupList', 'Get-EMLCloudWatchAlarmTemplateList', + 'Get-EMLCluster', + 'Get-EMLClusterList', 'Get-EMLEventBridgeRuleTemplate', 'Get-EMLEventBridgeRuleTemplateGroup', 'Get-EMLEventBridgeRuleTemplateGroupList', @@ -111,6 +115,10 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-EMLMultiplexList', 'Get-EMLMultiplexProgram', 'Get-EMLMultiplexProgramList', + 'Get-EMLNetwork', + 'Get-EMLNetworkList', + 'Get-EMLNode', + 'Get-EMLNodeList', 'Get-EMLOffering', 'Get-EMLOfferingList', 'Get-EMLReservation', @@ -122,27 +130,36 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-EMLThumbnail', 'Move-EMLInputDevice', 'New-EMLChannel', + 'New-EMLChannelPlacementGroup', 'New-EMLCloudWatchAlarmTemplate', 'New-EMLCloudWatchAlarmTemplateGroup', + 'New-EMLCluster', 'New-EMLEventBridgeRuleTemplate', 'New-EMLEventBridgeRuleTemplateGroup', 'New-EMLInput', 'New-EMLInputSecurityGroup', 'New-EMLMultiplex', 'New-EMLMultiplexProgram', + 'New-EMLNetwork', + 'New-EMLNode', + 'New-EMLNodeRegistrationScript', 'New-EMLOfferingPurchase', 'New-EMLPartnerInput', 'New-EMLSignalMap', 'Receive-EMLInputDeviceTransfer', 'Remove-EMLChannel', + 'Remove-EMLChannelPlacementGroup', 'Remove-EMLCloudWatchAlarmTemplate', 'Remove-EMLCloudWatchAlarmTemplateGroup', + 'Remove-EMLCluster', 'Remove-EMLEventBridgeRuleTemplate', 'Remove-EMLEventBridgeRuleTemplateGroup', 'Remove-EMLInput', 'Remove-EMLInputSecurityGroup', 'Remove-EMLMultiplex', 'Remove-EMLMultiplexProgram', + 'Remove-EMLNetwork', + 'Remove-EMLNode', 'Remove-EMLReservation', 'Remove-EMLResourceBatch', 'Remove-EMLResourceTag', @@ -167,8 +184,10 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Update-EMLAccountConfiguration', 'Update-EMLChannel', 'Update-EMLChannelClass', + 'Update-EMLChannelPlacementGroup', 'Update-EMLCloudWatchAlarmTemplate', 'Update-EMLCloudWatchAlarmTemplateGroup', + 'Update-EMLCluster', 'Update-EMLEventBridgeRuleTemplate', 'Update-EMLEventBridgeRuleTemplateGroup', 'Update-EMLInput', @@ -176,6 +195,9 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Update-EMLInputSecurityGroup', 'Update-EMLMultiplex', 'Update-EMLMultiplexProgram', + 'Update-EMLNetwork', + 'Update-EMLNode', + 'Update-EMLNodeState', 'Update-EMLReservation', 'Update-EMLScheduleBatch') diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/AmazonMediaLiveClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/AmazonMediaLiveClientCmdlet.cs index b7f83a6a6f..90ad2ee7f4 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/AmazonMediaLiveClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/AmazonMediaLiveClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaLive CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaLiveConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLChannelPlacementGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLChannelPlacementGroup-Cmdlet.cs new file mode 100644 index 0000000000..aa37f2c10e --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLChannelPlacementGroup-Cmdlet.cs @@ -0,0 +1,231 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Get details about a ChannelPlacementGroup. + /// + [Cmdlet("Get", "EMLChannelPlacementGroup")] + [OutputType("Amazon.MediaLive.Model.DescribeChannelPlacementGroupResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DescribeChannelPlacementGroup API operation.", Operation = new[] {"DescribeChannelPlacementGroup"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DescribeChannelPlacementGroupResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeChannelPlacementGroupResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DescribeChannelPlacementGroupResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetEMLChannelPlacementGroupCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ChannelPlacementGroupId + /// + /// + /// The ID of the channel placement + /// group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ChannelPlacementGroupId { get; set; } + #endregion + + #region Parameter ClusterId + /// + /// + /// The ID of the cluster. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterId { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DescribeChannelPlacementGroupResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DescribeChannelPlacementGroupResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ChannelPlacementGroupId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ChannelPlacementGroupId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ChannelPlacementGroupId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ChannelPlacementGroupId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ChannelPlacementGroupId = this.ChannelPlacementGroupId; + #if MODULAR + if (this.ChannelPlacementGroupId == null && ParameterWasBound(nameof(this.ChannelPlacementGroupId))) + { + WriteWarning("You are passing $null as a value for parameter ChannelPlacementGroupId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ClusterId = this.ClusterId; + #if MODULAR + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) + { + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.DescribeChannelPlacementGroupRequest(); + + if (cmdletContext.ChannelPlacementGroupId != null) + { + request.ChannelPlacementGroupId = cmdletContext.ChannelPlacementGroupId; + } + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.DescribeChannelPlacementGroupResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DescribeChannelPlacementGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DescribeChannelPlacementGroup"); + try + { + #if DESKTOP + return client.DescribeChannelPlacementGroup(request); + #elif CORECLR + return client.DescribeChannelPlacementGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ChannelPlacementGroupId { get; set; } + public System.String ClusterId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLChannelPlacementGroupList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLChannelPlacementGroupList-Cmdlet.cs new file mode 100644 index 0000000000..5dcd74e9d7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLChannelPlacementGroupList-Cmdlet.cs @@ -0,0 +1,273 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Retrieve the list of ChannelPlacementGroups in the specified Cluster.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "EMLChannelPlacementGroupList")] + [OutputType("Amazon.MediaLive.Model.DescribeChannelPlacementGroupSummary")] + [AWSCmdlet("Calls the AWS Elemental MediaLive ListChannelPlacementGroups API operation.", Operation = new[] {"ListChannelPlacementGroups"}, SelectReturnType = typeof(Amazon.MediaLive.Model.ListChannelPlacementGroupsResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeChannelPlacementGroupSummary or Amazon.MediaLive.Model.ListChannelPlacementGroupsResponse", + "This cmdlet returns a collection of Amazon.MediaLive.Model.DescribeChannelPlacementGroupSummary objects.", + "The service call response (type Amazon.MediaLive.Model.ListChannelPlacementGroupsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetEMLChannelPlacementGroupListCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterId + /// + /// + /// The ID of the cluster + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterId { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of items to return. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The token to retrieve the next page of results. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'ChannelPlacementGroups'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.ListChannelPlacementGroupsResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.ListChannelPlacementGroupsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "ChannelPlacementGroups"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterId = this.ClusterId; + #if MODULAR + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) + { + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.MediaLive.Model.ListChannelPlacementGroupsRequest(); + + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.ListChannelPlacementGroupsResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.ListChannelPlacementGroupsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "ListChannelPlacementGroups"); + try + { + #if DESKTOP + return client.ListChannelPlacementGroups(request); + #elif CORECLR + return client.ListChannelPlacementGroupsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ChannelPlacementGroups; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLFleetMetadata-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLCluster-Cmdlet.cs similarity index 67% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLFleetMetadata-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLCluster-Cmdlet.cs index a3954b477f..1ae084dd66 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLFleetMetadata-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLCluster-Cmdlet.cs @@ -22,31 +22,29 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Provides basic information for the specified fleet, excluding identity provider, networking, - /// and device configuration details.

    This operation is deprecated. + /// Get details about a Cluster. ///
    - [Cmdlet("Get", "WLFleetMetadata")] - [OutputType("Amazon.WorkLink.Model.DescribeFleetMetadataResponse")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeFleetMetadata API operation.", Operation = new[] {"DescribeFleetMetadata"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeFleetMetadataResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DescribeFleetMetadataResponse", - "This cmdlet returns an Amazon.WorkLink.Model.DescribeFleetMetadataResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "EMLCluster")] + [OutputType("Amazon.MediaLive.Model.DescribeClusterResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DescribeCluster API operation.", Operation = new[] {"DescribeCluster"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DescribeClusterResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeClusterResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DescribeClusterResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLFleetMetadataCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetEMLClusterCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter ClusterId /// /// - /// The Amazon Resource Name (ARN) of the fleet. + /// The ID of the cluster. /// /// #if !MODULAR @@ -57,14 +55,14 @@ public partial class GetWLFleetMetadataCmdlet : AmazonWorkLinkClientCmdlet, IExe [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String ClusterId { get; set; } #endregion #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeFleetMetadataResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeFleetMetadataResponse will result in that property being returned. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DescribeClusterResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DescribeClusterResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -73,10 +71,10 @@ public partial class GetWLFleetMetadataCmdlet : AmazonWorkLinkClientCmdlet, IExe #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -94,7 +92,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -103,14 +101,14 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.ClusterId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -127,11 +125,11 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeFleetMetadataRequest(); + var request = new Amazon.MediaLive.Model.DescribeClusterRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.ClusterId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.ClusterId = cmdletContext.ClusterId; } CmdletOutput output; @@ -166,15 +164,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeFleetMetadataResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeFleetMetadataRequest request) + private Amazon.MediaLive.Model.DescribeClusterResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DescribeClusterRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeFleetMetadata"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DescribeCluster"); try { #if DESKTOP - return client.DescribeFleetMetadata(request); + return client.DescribeCluster(request); #elif CORECLR - return client.DescribeFleetMetadataAsync(request).GetAwaiter().GetResult(); + return client.DescribeClusterAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -194,8 +192,8 @@ private Amazon.WorkLink.Model.DescribeFleetMetadataResponse CallAWSServiceOperat internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String ClusterId { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => response; } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLClusterList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLClusterList-Cmdlet.cs new file mode 100644 index 0000000000..b69b06939b --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLClusterList-Cmdlet.cs @@ -0,0 +1,222 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Retrieve the list of Clusters.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "EMLClusterList")] + [OutputType("Amazon.MediaLive.Model.DescribeClusterSummary")] + [AWSCmdlet("Calls the AWS Elemental MediaLive ListClusters API operation.", Operation = new[] {"ListClusters"}, SelectReturnType = typeof(Amazon.MediaLive.Model.ListClustersResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeClusterSummary or Amazon.MediaLive.Model.ListClustersResponse", + "This cmdlet returns a collection of Amazon.MediaLive.Model.DescribeClusterSummary objects.", + "The service call response (type Amazon.MediaLive.Model.ListClustersResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetEMLClusterListCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter MaxResult + /// + /// + /// The maximum number of items to return. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The token to retrieve the next page of results. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Clusters'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.ListClustersResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.ListClustersResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Clusters"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.MediaLive.Model.ListClustersRequest(); + + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.ListClustersResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.ListClustersRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "ListClusters"); + try + { + #if DESKTOP + return client.ListClusters(request); + #elif CORECLR + return client.ListClustersAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Clusters; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLCompanyNetworkConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNetwork-Cmdlet.cs similarity index 65% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLCompanyNetworkConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNetwork-Cmdlet.cs index cabbe8b7f5..5c34955013 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLCompanyNetworkConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNetwork-Cmdlet.cs @@ -22,31 +22,29 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Describes the networking configuration to access the internal websites associated - /// with the specified fleet.

    This operation is deprecated. + /// Get details about a Network. ///
    - [Cmdlet("Get", "WLCompanyNetworkConfiguration")] - [OutputType("Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeCompanyNetworkConfiguration API operation.", Operation = new[] {"DescribeCompanyNetworkConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse", - "This cmdlet returns an Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "EMLNetwork")] + [OutputType("Amazon.MediaLive.Model.DescribeNetworkResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DescribeNetwork API operation.", Operation = new[] {"DescribeNetwork"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DescribeNetworkResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeNetworkResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DescribeNetworkResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLCompanyNetworkConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetEMLNetworkCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter NetworkId /// /// - /// The ARN of the fleet. + /// The ID of the network. /// /// #if !MODULAR @@ -57,14 +55,14 @@ public partial class GetWLCompanyNetworkConfigurationCmdlet : AmazonWorkLinkClie [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String NetworkId { get; set; } #endregion #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse will result in that property being returned. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DescribeNetworkResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DescribeNetworkResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -73,10 +71,10 @@ public partial class GetWLCompanyNetworkConfigurationCmdlet : AmazonWorkLinkClie #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the NetworkId parameter. + /// The -PassThru parameter is deprecated, use -Select '^NetworkId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^NetworkId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -94,7 +92,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -103,14 +101,14 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.NetworkId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.NetworkId = this.NetworkId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.NetworkId == null && ParameterWasBound(nameof(this.NetworkId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter NetworkId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -127,11 +125,11 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationRequest(); + var request = new Amazon.MediaLive.Model.DescribeNetworkRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.NetworkId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.NetworkId = cmdletContext.NetworkId; } CmdletOutput output; @@ -166,15 +164,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationRequest request) + private Amazon.MediaLive.Model.DescribeNetworkResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DescribeNetworkRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeCompanyNetworkConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DescribeNetwork"); try { #if DESKTOP - return client.DescribeCompanyNetworkConfiguration(request); + return client.DescribeNetwork(request); #elif CORECLR - return client.DescribeCompanyNetworkConfigurationAsync(request).GetAwaiter().GetResult(); + return client.DescribeNetworkAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -194,8 +192,8 @@ private Amazon.WorkLink.Model.DescribeCompanyNetworkConfigurationResponse CallAW internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String NetworkId { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => response; } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNetworkList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNetworkList-Cmdlet.cs new file mode 100644 index 0000000000..ed9b1a6bd7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNetworkList-Cmdlet.cs @@ -0,0 +1,222 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Retrieve the list of Networks.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "EMLNetworkList")] + [OutputType("Amazon.MediaLive.Model.DescribeNetworkSummary")] + [AWSCmdlet("Calls the AWS Elemental MediaLive ListNetworks API operation.", Operation = new[] {"ListNetworks"}, SelectReturnType = typeof(Amazon.MediaLive.Model.ListNetworksResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeNetworkSummary or Amazon.MediaLive.Model.ListNetworksResponse", + "This cmdlet returns a collection of Amazon.MediaLive.Model.DescribeNetworkSummary objects.", + "The service call response (type Amazon.MediaLive.Model.ListNetworksResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetEMLNetworkListCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter MaxResult + /// + /// + /// The maximum number of items to return. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The token to retrieve the next page of results. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Networks'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.ListNetworksResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.ListNetworksResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Networks"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.MediaLive.Model.ListNetworksRequest(); + + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.ListNetworksResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.ListNetworksRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "ListNetworks"); + try + { + #if DESKTOP + return client.ListNetworks(request); + #elif CORECLR + return client.ListNetworksAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Networks; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDevice-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNode-Cmdlet.cs similarity index 66% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDevice-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNode-Cmdlet.cs index 5cb6cc1b40..1c8c32c76f 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDevice-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNode-Cmdlet.cs @@ -22,30 +22,29 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Provides information about a user's device.

    This operation is deprecated. + /// Get details about a Node in the specified Cluster. ///
    - [Cmdlet("Get", "WLDevice")] - [OutputType("Amazon.WorkLink.Model.DescribeDeviceResponse")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeDevice API operation.", Operation = new[] {"DescribeDevice"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeDeviceResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DescribeDeviceResponse", - "This cmdlet returns an Amazon.WorkLink.Model.DescribeDeviceResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "EMLNode")] + [OutputType("Amazon.MediaLive.Model.DescribeNodeResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DescribeNode API operation.", Operation = new[] {"DescribeNode"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DescribeNodeResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeNodeResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DescribeNodeResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLDeviceCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetEMLNodeCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DeviceId + #region Parameter ClusterId /// /// - /// A unique identifier for a registered user's device. + /// The ID of the cluster /// /// #if !MODULAR @@ -56,13 +55,13 @@ public partial class GetWLDeviceCmdlet : AmazonWorkLinkClientCmdlet, IExecutor [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String DeviceId { get; set; } + public System.String ClusterId { get; set; } #endregion - #region Parameter FleetArn + #region Parameter NodeId /// /// - /// The ARN of the fleet. + /// The ID of the node. /// /// #if !MODULAR @@ -73,14 +72,14 @@ public partial class GetWLDeviceCmdlet : AmazonWorkLinkClientCmdlet, IExecutor [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String NodeId { get; set; } #endregion #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeDeviceResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeDeviceResponse will result in that property being returned. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DescribeNodeResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DescribeNodeResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -89,10 +88,10 @@ public partial class GetWLDeviceCmdlet : AmazonWorkLinkClientCmdlet, IExecutor #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the NodeId parameter. + /// The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -110,7 +109,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -119,21 +118,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.NodeId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DeviceId = this.DeviceId; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.DeviceId == null && ParameterWasBound(nameof(this.DeviceId))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter DeviceId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.NodeId = this.NodeId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.NodeId == null && ParameterWasBound(nameof(this.NodeId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter NodeId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -150,15 +149,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeDeviceRequest(); + var request = new Amazon.MediaLive.Model.DescribeNodeRequest(); - if (cmdletContext.DeviceId != null) + if (cmdletContext.ClusterId != null) { - request.DeviceId = cmdletContext.DeviceId; + request.ClusterId = cmdletContext.ClusterId; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.NodeId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.NodeId = cmdletContext.NodeId; } CmdletOutput output; @@ -193,15 +192,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeDeviceResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeDeviceRequest request) + private Amazon.MediaLive.Model.DescribeNodeResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DescribeNodeRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeDevice"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DescribeNode"); try { #if DESKTOP - return client.DescribeDevice(request); + return client.DescribeNode(request); #elif CORECLR - return client.DescribeDeviceAsync(request).GetAwaiter().GetResult(); + return client.DescribeNodeAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -221,9 +220,9 @@ private Amazon.WorkLink.Model.DescribeDeviceResponse CallAWSServiceOperation(IAm internal partial class CmdletContext : ExecutorContext { - public System.String DeviceId { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String ClusterId { get; set; } + public System.String NodeId { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => response; } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLFleetList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNodeList-Cmdlet.cs similarity index 51% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLFleetList-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNodeList-Cmdlet.cs index 221f5ffac0..a2b5441ef7 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLFleetList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLNodeList-Cmdlet.cs @@ -22,48 +22,58 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Retrieves a list of fleets for the current account and Region.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration.

    This operation is deprecated. + /// Retrieve the list of Nodes.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    - [Cmdlet("Get", "WLFleetList")] - [OutputType("Amazon.WorkLink.Model.FleetSummary")] - [AWSCmdlet("Calls the Amazon WorkLink ListFleets API operation.", Operation = new[] {"ListFleets"}, SelectReturnType = typeof(Amazon.WorkLink.Model.ListFleetsResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.FleetSummary or Amazon.WorkLink.Model.ListFleetsResponse", - "This cmdlet returns a collection of Amazon.WorkLink.Model.FleetSummary objects.", - "The service call response (type Amazon.WorkLink.Model.ListFleetsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "EMLNodeList")] + [OutputType("Amazon.MediaLive.Model.DescribeNodeSummary")] + [AWSCmdlet("Calls the AWS Elemental MediaLive ListNodes API operation.", Operation = new[] {"ListNodes"}, SelectReturnType = typeof(Amazon.MediaLive.Model.ListNodesResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DescribeNodeSummary or Amazon.MediaLive.Model.ListNodesResponse", + "This cmdlet returns a collection of Amazon.MediaLive.Model.DescribeNodeSummary objects.", + "The service call response (type Amazon.MediaLive.Model.ListNodesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLFleetListCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetEMLNodeListCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter MaxResult + #region Parameter ClusterId /// /// - /// The maximum number of results to be included in the next page. + /// The ID of the cluster /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterId { get; set; } + #endregion + + #region Parameter MaxResult + /// /// - ///
    Note: In AWSPowerShell and AWSPowerShell.NetCore this parameter is used to limit the total number of items returned by the cmdlet. - ///
    In AWS.Tools this parameter is simply passed to the service to specify how many items should be returned by each service call. - ///
    Pipe the output of this cmdlet into Select-Object -First to terminate retrieving data pages early and control the number of items returned. + /// The maximum number of items to return. ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - [Alias("MaxItems","MaxResults")] - public int? MaxResult { get; set; } + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } #endregion #region Parameter NextToken /// /// - /// The pagination token used to retrieve the next page of results for this operation. - /// If this value is null, it retrieves the first page. + /// The token to retrieve the next page of results. /// /// ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. @@ -76,13 +86,23 @@ public partial class GetWLFleetListCmdlet : AmazonWorkLinkClientCmdlet, IExecuto #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'FleetSummaryList'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.ListFleetsResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.ListFleetsResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is 'Nodes'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.ListNodesResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.ListNodesResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "FleetSummaryList"; + public string Select { get; set; } = "Nodes"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } #endregion #region Parameter NoAutoIteration @@ -105,21 +125,29 @@ protected override void ProcessRecord() // allow for manipulation of parameters prior to loading into context PreExecutionContextLoad(context); + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } } - context.MaxResult = this.MaxResult; - #if !MODULAR - if (ParameterWasBound(nameof(this.MaxResult)) && this.MaxResult.HasValue) + else if (this.PassThru.IsPresent) { - WriteWarning("AWSPowerShell and AWSPowerShell.NetCore use the MaxResult parameter to limit the total number of items returned by the cmdlet." + - " This behavior is obsolete and will be removed in a future version of these modules. Pipe the output of this cmdlet into Select-Object -First to terminate" + - " retrieving data pages early and control the number of items returned. AWS.Tools already implements the new behavior of simply passing MaxResult" + - " to the service to specify how many items should be returned by each service call."); + context.Select = (response, cmdlet) => this.ClusterId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterId = this.ClusterId; + #if MODULAR + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) + { + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; // allow further manipulation of loaded context prior to processing @@ -131,18 +159,23 @@ protected override void ProcessRecord() #region IExecutor Members - #if MODULAR public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; - var useParameterSelect = this.Select.StartsWith("^"); + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListFleetsRequest(); + var request = new Amazon.MediaLive.Model.ListNodesRequest(); + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } if (cmdletContext.MaxResult != null) { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToServiceTypeInt32(cmdletContext.MaxResult.Value); + request.MaxResults = cmdletContext.MaxResult.Value; } // Initialize loop variant and commence piping @@ -191,88 +224,6 @@ public object Execute(ExecutorContext context) return null; } - #else - public object Execute(ExecutorContext context) - { - var cmdletContext = context as CmdletContext; - var useParameterSelect = this.Select.StartsWith("^"); - - // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListFleetsRequest(); - - // Initialize loop variants and commence piping - System.String _nextToken = null; - int? _emitLimit = null; - int _retrievedSoFar = 0; - if (AutoIterationHelpers.HasValue(cmdletContext.NextToken)) - { - _nextToken = cmdletContext.NextToken; - } - if (cmdletContext.MaxResult.HasValue) - { - _emitLimit = cmdletContext.MaxResult; - } - var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); - - var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); - do - { - request.NextToken = _nextToken; - if (_emitLimit.HasValue) - { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToInt32(_emitLimit.Value); - } - - CmdletOutput output; - - try - { - - var response = CallAWSServiceOperation(client, request); - object pipelineOutput = null; - if (!useParameterSelect) - { - pipelineOutput = cmdletContext.Select(response, this); - } - output = new CmdletOutput - { - PipelineOutput = pipelineOutput, - ServiceResponse = response - }; - int _receivedThisCall = response.FleetSummaryList.Count; - - _nextToken = response.NextToken; - _retrievedSoFar += _receivedThisCall; - if (_emitLimit.HasValue) - { - _emitLimit -= _receivedThisCall; - } - } - catch (Exception e) - { - if (_retrievedSoFar == 0 || !_emitLimit.HasValue) - { - output = new CmdletOutput { ErrorResponse = e }; - } - else - { - break; - } - } - - ProcessOutput(output); - } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken) && (!_emitLimit.HasValue || _emitLimit.Value >= 1)); - - - if (useParameterSelect) - { - WriteObject(cmdletContext.Select(null, this)); - } - - - return null; - } - #endif public ExecutorContext CreateContext() { @@ -283,15 +234,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.ListFleetsResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.ListFleetsRequest request) + private Amazon.MediaLive.Model.ListNodesResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.ListNodesRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "ListFleets"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "ListNodes"); try { #if DESKTOP - return client.ListFleets(request); + return client.ListNodes(request); #elif CORECLR - return client.ListFleetsAsync(request).GetAwaiter().GetResult(); + return client.ListNodesAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -311,10 +262,11 @@ private Amazon.WorkLink.Model.ListFleetsResponse CallAWSServiceOperation(IAmazon internal partial class CmdletContext : ExecutorContext { - public int? MaxResult { get; set; } + public System.String ClusterId { get; set; } + public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.FleetSummaryList; + public System.Func Select { get; set; } = + (response, cmdlet) => response.Nodes; } } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLOfferingList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLOfferingList-Cmdlet.cs index f6fa3de202..15b6cb6c37 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLOfferingList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLOfferingList-Cmdlet.cs @@ -67,7 +67,7 @@ public partial class GetEMLOfferingListCmdlet : AmazonMediaLiveClientCmdlet, IEx /// /// /// Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', - /// or 'LINK' + /// 'LINK', or 'AV1' /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLReservationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLReservationList-Cmdlet.cs index de0a35618d..cc312587ad 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLReservationList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Get-EMLReservationList-Cmdlet.cs @@ -56,7 +56,7 @@ public partial class GetEMLReservationListCmdlet : AmazonMediaLiveClientCmdlet, /// /// /// Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', - /// or 'LINK' + /// 'LINK', or 'AV1' /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLChannel-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLChannel-Cmdlet.cs index 64b3000db2..900f62b43b 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLChannel-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLChannel-Cmdlet.cs @@ -54,6 +54,27 @@ public partial class NewEMLChannelCmdlet : AmazonMediaLiveClientCmdlet, IExecuto public Amazon.MediaLive.ChannelClass ChannelClass { get; set; } #endregion + #region Parameter AnywhereSettings_ChannelPlacementGroupId + /// + /// + /// The ID of the channel placement + /// group for the channel. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String AnywhereSettings_ChannelPlacementGroupId { get; set; } + #endregion + + #region Parameter AnywhereSettings_ClusterId + /// + /// + /// The ID of the cluster for the channel. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String AnywhereSettings_ClusterId { get; set; } + #endregion + #region Parameter InputSpecification_Codec /// /// @@ -321,6 +342,8 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.Name; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AnywhereSettings_ChannelPlacementGroupId = this.AnywhereSettings_ChannelPlacementGroupId; + context.AnywhereSettings_ClusterId = this.AnywhereSettings_ClusterId; context.CdiInputSpecification_Resolution = this.CdiInputSpecification_Resolution; context.ChannelClass = this.ChannelClass; if (this.Destination != null) @@ -381,6 +404,35 @@ public object Execute(ExecutorContext context) var request = new Amazon.MediaLive.Model.CreateChannelRequest(); + // populate AnywhereSettings + var requestAnywhereSettingsIsNull = true; + request.AnywhereSettings = new Amazon.MediaLive.Model.AnywhereSettings(); + System.String requestAnywhereSettings_anywhereSettings_ChannelPlacementGroupId = null; + if (cmdletContext.AnywhereSettings_ChannelPlacementGroupId != null) + { + requestAnywhereSettings_anywhereSettings_ChannelPlacementGroupId = cmdletContext.AnywhereSettings_ChannelPlacementGroupId; + } + if (requestAnywhereSettings_anywhereSettings_ChannelPlacementGroupId != null) + { + request.AnywhereSettings.ChannelPlacementGroupId = requestAnywhereSettings_anywhereSettings_ChannelPlacementGroupId; + requestAnywhereSettingsIsNull = false; + } + System.String requestAnywhereSettings_anywhereSettings_ClusterId = null; + if (cmdletContext.AnywhereSettings_ClusterId != null) + { + requestAnywhereSettings_anywhereSettings_ClusterId = cmdletContext.AnywhereSettings_ClusterId; + } + if (requestAnywhereSettings_anywhereSettings_ClusterId != null) + { + request.AnywhereSettings.ClusterId = requestAnywhereSettings_anywhereSettings_ClusterId; + requestAnywhereSettingsIsNull = false; + } + // determine if request.AnywhereSettings should be set to null + if (requestAnywhereSettingsIsNull) + { + request.AnywhereSettings = null; + } + // populate CdiInputSpecification var requestCdiInputSpecificationIsNull = true; request.CdiInputSpecification = new Amazon.MediaLive.Model.CdiInputSpecification(); @@ -609,6 +661,8 @@ private Amazon.MediaLive.Model.CreateChannelResponse CallAWSServiceOperation(IAm internal partial class CmdletContext : ExecutorContext { + public System.String AnywhereSettings_ChannelPlacementGroupId { get; set; } + public System.String AnywhereSettings_ClusterId { get; set; } public Amazon.MediaLive.CdiInputResolution CdiInputSpecification_Resolution { get; set; } public Amazon.MediaLive.ChannelClass ChannelClass { get; set; } public List Destination { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLChannelPlacementGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLChannelPlacementGroup-Cmdlet.cs new file mode 100644 index 0000000000..3e55216a88 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLChannelPlacementGroup-Cmdlet.cs @@ -0,0 +1,303 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Create a ChannelPlacementGroup in the specified Cluster. As part of the create operation, + /// you specify the Nodes to attach the group to.After you create a ChannelPlacementGroup, + /// you add Channels to the group (you do this by modifying the Channels to add them to + /// a specific group). You now have an association of Channels to ChannelPlacementGroup, + /// and ChannelPlacementGroup to Nodes. This association means that all the Channels in + /// the group are able to run on any of the Nodes associated with the group. + /// + [Cmdlet("New", "EMLChannelPlacementGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.CreateChannelPlacementGroupResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive CreateChannelPlacementGroup API operation.", Operation = new[] {"CreateChannelPlacementGroup"}, SelectReturnType = typeof(Amazon.MediaLive.Model.CreateChannelPlacementGroupResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.CreateChannelPlacementGroupResponse", + "This cmdlet returns an Amazon.MediaLive.Model.CreateChannelPlacementGroupResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewEMLChannelPlacementGroupCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterId + /// + /// + /// The ID of the cluster. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterId { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// Specify a name that is unique in the Cluster. You + /// can't change the name. Names are case-sensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter Node + /// + /// + /// An array of one ID for the Node that you want to + /// associate with the ChannelPlacementGroup. (You can't associate more than one Node + /// with the ChannelPlacementGroup.) The Node and the ChannelPlacementGroup must be in + /// the same Cluster. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Nodes")] + public System.String[] Node { get; set; } + #endregion + + #region Parameter RequestId + /// + /// + /// An ID that you assign to a create request. This + /// ID ensures idempotency when creating resources. the request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String RequestId { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// A collection of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.CreateChannelPlacementGroupResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.CreateChannelPlacementGroupResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ClusterId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-EMLChannelPlacementGroup (CreateChannelPlacementGroup)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterId = this.ClusterId; + #if MODULAR + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) + { + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Name = this.Name; + if (this.Node != null) + { + context.Node = new List(this.Node); + } + context.RequestId = this.RequestId; + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.CreateChannelPlacementGroupRequest(); + + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + if (cmdletContext.Node != null) + { + request.Nodes = cmdletContext.Node; + } + if (cmdletContext.RequestId != null) + { + request.RequestId = cmdletContext.RequestId; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.CreateChannelPlacementGroupResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.CreateChannelPlacementGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "CreateChannelPlacementGroup"); + try + { + #if DESKTOP + return client.CreateChannelPlacementGroup(request); + #elif CORECLR + return client.CreateChannelPlacementGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterId { get; set; } + public System.String Name { get; set; } + public List Node { get; set; } + public System.String RequestId { get; set; } + public Dictionary Tag { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLCluster-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLCluster-Cmdlet.cs new file mode 100644 index 0000000000..7d849ad5c3 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLCluster-Cmdlet.cs @@ -0,0 +1,354 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Create a new Cluster. + /// + [Cmdlet("New", "EMLCluster", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.CreateClusterResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive CreateCluster API operation.", Operation = new[] {"CreateCluster"}, SelectReturnType = typeof(Amazon.MediaLive.Model.CreateClusterResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.CreateClusterResponse", + "This cmdlet returns an Amazon.MediaLive.Model.CreateClusterResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewEMLClusterCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterType + /// + /// + /// Specify a type. All the Nodes that you later + /// add to this Cluster must be this type of hardware. One Cluster instance can't contain + /// different hardware types. You won't be able to change this parameter after you create + /// the Cluster. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaLive.ClusterType")] + public Amazon.MediaLive.ClusterType ClusterType { get; set; } + #endregion + + #region Parameter NetworkSettings_DefaultRoute + /// + /// + /// Specify one network interface as the default + /// route for traffic to and from the Node. MediaLive Anywhere uses this default when + /// the destination for the traffic isn't covered by the route table for any of the networks. + /// Specify the value of the appropriate logicalInterfaceName parameter that you create + /// in the interfaceMappings. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NetworkSettings_DefaultRoute { get; set; } + #endregion + + #region Parameter InstanceRoleArn + /// + /// + /// The ARN of the IAM role for the Node in + /// this Cluster. The role must include all the operations that you expect these Node + /// to perform. If necessary, create a role in IAM, then attach it here. + /// + /// + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + public System.String InstanceRoleArn { get; set; } + #endregion + + #region Parameter NetworkSettings_InterfaceMapping + /// + /// + /// An array of interfaceMapping objects + /// for this Cluster. You must create a mapping for node interfaces that you plan to use + /// for encoding traffic. You typically don't create a mapping for the management interface. + /// You define this mapping in the Cluster so that the mapping can be used by all the + /// Nodes. Each mapping logically connects one interface on the nodes with one Network. + /// Each mapping consists of a pair of parameters. The logicalInterfaceName parameter + /// creates a logical name for the Node interface that handles a specific type of traffic. + /// For example, my-Inputs-Interface. The networkID parameter refers to the ID of the + /// network. When you create the Nodes in this Cluster, you will associate the logicalInterfaceName + /// with the appropriate physical interface. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NetworkSettings_InterfaceMappings")] + public Amazon.MediaLive.Model.InterfaceMappingCreateRequest[] NetworkSettings_InterfaceMapping { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// Specify a name that is unique in the AWS account. + /// We recommend that you assign a name that hints at the types of Nodes in the Cluster. + /// Names are case-sensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter RequestId + /// + /// + /// The unique ID of the request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String RequestId { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// A collection of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.CreateClusterResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.CreateClusterResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the InstanceRoleArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^InstanceRoleArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^InstanceRoleArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.InstanceRoleArn), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-EMLCluster (CreateCluster)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.InstanceRoleArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterType = this.ClusterType; + context.InstanceRoleArn = this.InstanceRoleArn; + context.Name = this.Name; + context.NetworkSettings_DefaultRoute = this.NetworkSettings_DefaultRoute; + if (this.NetworkSettings_InterfaceMapping != null) + { + context.NetworkSettings_InterfaceMapping = new List(this.NetworkSettings_InterfaceMapping); + } + context.RequestId = this.RequestId; + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.CreateClusterRequest(); + + if (cmdletContext.ClusterType != null) + { + request.ClusterType = cmdletContext.ClusterType; + } + if (cmdletContext.InstanceRoleArn != null) + { + request.InstanceRoleArn = cmdletContext.InstanceRoleArn; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + + // populate NetworkSettings + var requestNetworkSettingsIsNull = true; + request.NetworkSettings = new Amazon.MediaLive.Model.ClusterNetworkSettingsCreateRequest(); + System.String requestNetworkSettings_networkSettings_DefaultRoute = null; + if (cmdletContext.NetworkSettings_DefaultRoute != null) + { + requestNetworkSettings_networkSettings_DefaultRoute = cmdletContext.NetworkSettings_DefaultRoute; + } + if (requestNetworkSettings_networkSettings_DefaultRoute != null) + { + request.NetworkSettings.DefaultRoute = requestNetworkSettings_networkSettings_DefaultRoute; + requestNetworkSettingsIsNull = false; + } + List requestNetworkSettings_networkSettings_InterfaceMapping = null; + if (cmdletContext.NetworkSettings_InterfaceMapping != null) + { + requestNetworkSettings_networkSettings_InterfaceMapping = cmdletContext.NetworkSettings_InterfaceMapping; + } + if (requestNetworkSettings_networkSettings_InterfaceMapping != null) + { + request.NetworkSettings.InterfaceMappings = requestNetworkSettings_networkSettings_InterfaceMapping; + requestNetworkSettingsIsNull = false; + } + // determine if request.NetworkSettings should be set to null + if (requestNetworkSettingsIsNull) + { + request.NetworkSettings = null; + } + if (cmdletContext.RequestId != null) + { + request.RequestId = cmdletContext.RequestId; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.CreateClusterResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.CreateClusterRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "CreateCluster"); + try + { + #if DESKTOP + return client.CreateCluster(request); + #elif CORECLR + return client.CreateClusterAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public Amazon.MediaLive.ClusterType ClusterType { get; set; } + public System.String InstanceRoleArn { get; set; } + public System.String Name { get; set; } + public System.String NetworkSettings_DefaultRoute { get; set; } + public List NetworkSettings_InterfaceMapping { get; set; } + public System.String RequestId { get; set; } + public Dictionary Tag { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLInput-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLInput-Cmdlet.cs index ee9b42f5bf..78fbc7ff64 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLInput-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLInput-Cmdlet.cs @@ -64,6 +64,18 @@ public partial class NewEMLInputCmdlet : AmazonMediaLiveClientCmdlet, IExecutor public Amazon.MediaLive.Model.InputDeviceSettings[] InputDevice { get; set; } #endregion + #region Parameter InputNetworkLocation + /// + /// + /// The location of this input. AWS, + /// for an input existing in the AWS Cloud, On-Prem foran input in a customer network. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaLive.InputNetworkLocation")] + public Amazon.MediaLive.InputNetworkLocation InputNetworkLocation { get; set; } + #endregion + #region Parameter InputSecurityGroup /// /// @@ -136,6 +148,17 @@ public partial class NewEMLInputCmdlet : AmazonMediaLiveClientCmdlet, IExecutor public System.String[] Vpc_SecurityGroupId { get; set; } #endregion + #region Parameter MulticastSettings_Source + /// + /// + /// The service has not provided documentation for this parameter; please refer to the service's API reference documentation for the latest available information. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MulticastSettings_Sources")] + public Amazon.MediaLive.Model.MulticastSourceCreateRequest[] MulticastSettings_Source { get; set; } + #endregion + #region Parameter Source /// /// @@ -264,6 +287,7 @@ protected override void ProcessRecord() { context.InputDevice = new List(this.InputDevice); } + context.InputNetworkLocation = this.InputNetworkLocation; if (this.InputSecurityGroup != null) { context.InputSecurityGroup = new List(this.InputSecurityGroup); @@ -272,6 +296,10 @@ protected override void ProcessRecord() { context.MediaConnectFlow = new List(this.MediaConnectFlow); } + if (this.MulticastSettings_Source != null) + { + context.MulticastSettings_Source = new List(this.MulticastSettings_Source); + } context.Name = this.Name; context.RequestId = this.RequestId; context.RoleArn = this.RoleArn; @@ -324,6 +352,10 @@ public object Execute(ExecutorContext context) { request.InputDevices = cmdletContext.InputDevice; } + if (cmdletContext.InputNetworkLocation != null) + { + request.InputNetworkLocation = cmdletContext.InputNetworkLocation; + } if (cmdletContext.InputSecurityGroup != null) { request.InputSecurityGroups = cmdletContext.InputSecurityGroup; @@ -332,6 +364,25 @@ public object Execute(ExecutorContext context) { request.MediaConnectFlows = cmdletContext.MediaConnectFlow; } + + // populate MulticastSettings + var requestMulticastSettingsIsNull = true; + request.MulticastSettings = new Amazon.MediaLive.Model.MulticastSettingsCreateRequest(); + List requestMulticastSettings_multicastSettings_Source = null; + if (cmdletContext.MulticastSettings_Source != null) + { + requestMulticastSettings_multicastSettings_Source = cmdletContext.MulticastSettings_Source; + } + if (requestMulticastSettings_multicastSettings_Source != null) + { + request.MulticastSettings.Sources = requestMulticastSettings_multicastSettings_Source; + requestMulticastSettingsIsNull = false; + } + // determine if request.MulticastSettings should be set to null + if (requestMulticastSettingsIsNull) + { + request.MulticastSettings = null; + } if (cmdletContext.Name != null) { request.Name = cmdletContext.Name; @@ -467,8 +518,10 @@ internal partial class CmdletContext : ExecutorContext { public List Destination { get; set; } public List InputDevice { get; set; } + public Amazon.MediaLive.InputNetworkLocation InputNetworkLocation { get; set; } public List InputSecurityGroup { get; set; } public List MediaConnectFlow { get; set; } + public List MulticastSettings_Source { get; set; } public System.String Name { get; set; } public System.String RequestId { get; set; } public System.String RoleArn { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLMultiplexProgram-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLMultiplexProgram-Cmdlet.cs index 3792cab313..f749c9f141 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLMultiplexProgram-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLMultiplexProgram-Cmdlet.cs @@ -111,7 +111,7 @@ public partial class NewEMLMultiplexProgramCmdlet : AmazonMediaLiveClientCmdlet, /// /// The purpose of the priority is to use a combination /// of the\nmultiplex rate control algorithm and the QVBR capability of the\nencoder to - /// prioritize the video quality of some channels in a\nmultiplex over others. Channels + /// prioritize the video quality of some channels in a\nmultiplex over others. Channels /// that have a higher priority will\nget higher video quality at the expense of the video /// quality of\nother channels in the multiplex with lower priority. /// diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNetwork-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNetwork-Cmdlet.cs new file mode 100644 index 0000000000..9a3c7a259f --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNetwork-Cmdlet.cs @@ -0,0 +1,294 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Create as many Networks as you need. You will associate one or more Clusters with + /// each Network.Each Network provides MediaLive Anywhere with required information about + /// the network in your organization that you are using for video encoding using MediaLive. + /// + [Cmdlet("New", "EMLNetwork", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.CreateNetworkResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive CreateNetwork API operation.", Operation = new[] {"CreateNetwork"}, SelectReturnType = typeof(Amazon.MediaLive.Model.CreateNetworkResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.CreateNetworkResponse", + "This cmdlet returns an Amazon.MediaLive.Model.CreateNetworkResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewEMLNetworkCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter IpPool + /// + /// + /// An array of IpPoolCreateRequests that identify + /// a collection of IP addresses in your network that you want to reserve for use in MediaLive + /// Anywhere. MediaLiveAnywhere uses these IP addresses for Push inputs (in both Bridge + /// and NATnetworks) and for output destinations (only in Bridge networks). EachIpPoolUpdateRequest + /// specifies one CIDR block. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("IpPools")] + public Amazon.MediaLive.Model.IpPoolCreateRequest[] IpPool { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// Specify a name that is unique in the AWS account. + /// We recommend that you assign a name that hints at the type of traffic on the network. + /// Names are case-sensitive. + /// + /// + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter RequestId + /// + /// + /// An ID that you assign to a create request. This + /// ID ensures idempotency when creating resources. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String RequestId { get; set; } + #endregion + + #region Parameter Route + /// + /// + /// An array of routes that MediaLive Anywhere needs + /// to know about in order to route encoding traffic. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Routes")] + public Amazon.MediaLive.Model.RouteCreateRequest[] Route { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// A collection of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.CreateNetworkResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.CreateNetworkResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Name parameter. + /// The -PassThru parameter is deprecated, use -Select '^Name' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Name' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.Name), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-EMLNetwork (CreateNetwork)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.Name; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.IpPool != null) + { + context.IpPool = new List(this.IpPool); + } + context.Name = this.Name; + context.RequestId = this.RequestId; + if (this.Route != null) + { + context.Route = new List(this.Route); + } + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.CreateNetworkRequest(); + + if (cmdletContext.IpPool != null) + { + request.IpPools = cmdletContext.IpPool; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + if (cmdletContext.RequestId != null) + { + request.RequestId = cmdletContext.RequestId; + } + if (cmdletContext.Route != null) + { + request.Routes = cmdletContext.Route; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.CreateNetworkResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.CreateNetworkRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "CreateNetwork"); + try + { + #if DESKTOP + return client.CreateNetwork(request); + #elif CORECLR + return client.CreateNetworkAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List IpPool { get; set; } + public System.String Name { get; set; } + public System.String RequestId { get; set; } + public List Route { get; set; } + public Dictionary Tag { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/New-WLFleet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNode-Cmdlet.cs similarity index 60% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/New-WLFleet-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNode-Cmdlet.cs index f599e33ca8..004f3348d6 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/New-WLFleet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNode-Cmdlet.cs @@ -22,43 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Creates a fleet. A fleet consists of resources and the configuration that delivers - /// associated websites to authorized users who download and set up the Amazon WorkLink - /// app.

    This operation is deprecated. + /// Create a Node in the specified Cluster. You can also create Nodes using the CreateNodeRegistrationScript. + /// Note that you can't move a Node to another Cluster. ///
    - [Cmdlet("New", "WLFleet", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("System.String")] - [AWSCmdlet("Calls the Amazon WorkLink CreateFleet API operation.", Operation = new[] {"CreateFleet"}, SelectReturnType = typeof(Amazon.WorkLink.Model.CreateFleetResponse))] - [AWSCmdletOutput("System.String or Amazon.WorkLink.Model.CreateFleetResponse", - "This cmdlet returns a System.String object.", - "The service call response (type Amazon.WorkLink.Model.CreateFleetResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("New", "EMLNode", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.CreateNodeResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive CreateNode API operation.", Operation = new[] {"CreateNode"}, SelectReturnType = typeof(Amazon.MediaLive.Model.CreateNodeResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.CreateNodeResponse", + "This cmdlet returns an Amazon.MediaLive.Model.CreateNodeResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class NewWLFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class NewEMLNodeCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DisplayName + #region Parameter ClusterId /// /// - /// The fleet name to display. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String DisplayName { get; set; } - #endregion - - #region Parameter FleetName - /// - /// - /// A unique name for the fleet. + /// The ID of the cluster. /// /// #if !MODULAR @@ -69,24 +56,58 @@ public partial class NewWLFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetName { get; set; } + public System.String ClusterId { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// The user-specified name of the Node to be created. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter NodeInterfaceMapping + /// + /// + /// Documentation update needed + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NodeInterfaceMappings")] + public Amazon.MediaLive.Model.NodeInterfaceMappingCreateRequest[] NodeInterfaceMapping { get; set; } #endregion - #region Parameter OptimizeForEndUserLocation + #region Parameter RequestId /// /// - /// The option to optimize for better performance by routing traffic through the closest - /// AWS Region to users, which may be outside of your home Region. + /// An ID that you assign to a create request. This + /// ID ensures idempotency when creating resources. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.Boolean? OptimizeForEndUserLocation { get; set; } + public System.String RequestId { get; set; } + #endregion + + #region Parameter Role + /// + /// + /// The initial role of the Node in the Cluster. ACTIVE + /// means the Node is available for encoding. BACKUP means the Node is a redundant Node + /// and might get used if an ACTIVE Node fails. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaLive.NodeRole")] + public Amazon.MediaLive.NodeRole Role { get; set; } #endregion #region Parameter Tag /// /// - /// The tags to add to the resource. A tag is a key-value pair. + /// A collection of key-value pairs. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -96,21 +117,21 @@ public partial class NewWLFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'FleetArn'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.CreateFleetResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.CreateFleetResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.CreateNodeResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.CreateNodeResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "FleetArn"; + public string Select { get; set; } = "*"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetName parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetName' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetName' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -130,8 +151,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetName), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-WLFleet (CreateFleet)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ClusterId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-EMLNode (CreateNode)")) { return; } @@ -144,7 +165,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -153,18 +174,23 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetName; + context.Select = (response, cmdlet) => this.ClusterId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DisplayName = this.DisplayName; - context.FleetName = this.FleetName; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.FleetName == null && ParameterWasBound(nameof(this.FleetName))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter FleetName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.OptimizeForEndUserLocation = this.OptimizeForEndUserLocation; + context.Name = this.Name; + if (this.NodeInterfaceMapping != null) + { + context.NodeInterfaceMapping = new List(this.NodeInterfaceMapping); + } + context.RequestId = this.RequestId; + context.Role = this.Role; if (this.Tag != null) { context.Tag = new Dictionary(StringComparer.Ordinal); @@ -187,19 +213,27 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.CreateFleetRequest(); + var request = new Amazon.MediaLive.Model.CreateNodeRequest(); - if (cmdletContext.DisplayName != null) + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + if (cmdletContext.NodeInterfaceMapping != null) { - request.DisplayName = cmdletContext.DisplayName; + request.NodeInterfaceMappings = cmdletContext.NodeInterfaceMapping; } - if (cmdletContext.FleetName != null) + if (cmdletContext.RequestId != null) { - request.FleetName = cmdletContext.FleetName; + request.RequestId = cmdletContext.RequestId; } - if (cmdletContext.OptimizeForEndUserLocation != null) + if (cmdletContext.Role != null) { - request.OptimizeForEndUserLocation = cmdletContext.OptimizeForEndUserLocation.Value; + request.Role = cmdletContext.Role; } if (cmdletContext.Tag != null) { @@ -238,15 +272,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.CreateFleetResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.CreateFleetRequest request) + private Amazon.MediaLive.Model.CreateNodeResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.CreateNodeRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "CreateFleet"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "CreateNode"); try { #if DESKTOP - return client.CreateFleet(request); + return client.CreateNode(request); #elif CORECLR - return client.CreateFleetAsync(request).GetAwaiter().GetResult(); + return client.CreateNodeAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -266,12 +300,14 @@ private Amazon.WorkLink.Model.CreateFleetResponse CallAWSServiceOperation(IAmazo internal partial class CmdletContext : ExecutorContext { - public System.String DisplayName { get; set; } - public System.String FleetName { get; set; } - public System.Boolean? OptimizeForEndUserLocation { get; set; } + public System.String ClusterId { get; set; } + public System.String Name { get; set; } + public List NodeInterfaceMapping { get; set; } + public System.String RequestId { get; set; } + public Amazon.MediaLive.NodeRole Role { get; set; } public Dictionary Tag { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.FleetArn; + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNodeRegistrationScript-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNodeRegistrationScript-Cmdlet.cs new file mode 100644 index 0000000000..225fa9fbef --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/New-EMLNodeRegistrationScript-Cmdlet.cs @@ -0,0 +1,313 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Create the Register Node script for all the nodes intended for a specific Cluster. + /// You will then run the script on each hardware unit that is intended for that Cluster. + /// The script creates a Node in the specified Cluster. It then binds the Node to this + /// hardware unit, and activates the node hardware for use with MediaLive Anywhere. + /// + [Cmdlet("New", "EMLNodeRegistrationScript", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Elemental MediaLive CreateNodeRegistrationScript API operation.", Operation = new[] {"CreateNodeRegistrationScript"}, SelectReturnType = typeof(Amazon.MediaLive.Model.CreateNodeRegistrationScriptResponse))] + [AWSCmdletOutput("System.String or Amazon.MediaLive.Model.CreateNodeRegistrationScriptResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.MediaLive.Model.CreateNodeRegistrationScriptResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewEMLNodeRegistrationScriptCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterId + /// + /// + /// The ID of the cluster + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterId { get; set; } + #endregion + + #region Parameter Id + /// + /// + /// If you're generating a re-registration script for an + /// already existing node, this is where you provide the id. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Id { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// Specify a pattern for MediaLive Anywhere to use to + /// assign a name to each Node in the Cluster. The pattern can include the variables $hn + /// (hostname of the node hardware) and $ts for the date and time that the Node is created, + /// in UTC (for example, 2024-08-20T23:35:12Z). + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter NodeInterfaceMapping + /// + /// + /// Documentation update needed + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NodeInterfaceMappings")] + public Amazon.MediaLive.Model.NodeInterfaceMapping[] NodeInterfaceMapping { get; set; } + #endregion + + #region Parameter RequestId + /// + /// + /// An ID that you assign to a create request. This + /// ID ensures idempotency when creating resources. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String RequestId { get; set; } + #endregion + + #region Parameter Role + /// + /// + /// The initial role of the Node in the Cluster. ACTIVE + /// means the Node is available for encoding. BACKUP means the Node is a redundant Node + /// and might get used if an ACTIVE Node fails. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaLive.NodeRole")] + public Amazon.MediaLive.NodeRole Role { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'NodeRegistrationScript'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.CreateNodeRegistrationScriptResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.CreateNodeRegistrationScriptResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "NodeRegistrationScript"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ClusterId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-EMLNodeRegistrationScript (CreateNodeRegistrationScript)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterId = this.ClusterId; + #if MODULAR + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) + { + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Id = this.Id; + context.Name = this.Name; + if (this.NodeInterfaceMapping != null) + { + context.NodeInterfaceMapping = new List(this.NodeInterfaceMapping); + } + context.RequestId = this.RequestId; + context.Role = this.Role; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.CreateNodeRegistrationScriptRequest(); + + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + if (cmdletContext.Id != null) + { + request.Id = cmdletContext.Id; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + if (cmdletContext.NodeInterfaceMapping != null) + { + request.NodeInterfaceMappings = cmdletContext.NodeInterfaceMapping; + } + if (cmdletContext.RequestId != null) + { + request.RequestId = cmdletContext.RequestId; + } + if (cmdletContext.Role != null) + { + request.Role = cmdletContext.Role; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.CreateNodeRegistrationScriptResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.CreateNodeRegistrationScriptRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "CreateNodeRegistrationScript"); + try + { + #if DESKTOP + return client.CreateNodeRegistrationScript(request); + #elif CORECLR + return client.CreateNodeRegistrationScriptAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterId { get; set; } + public System.String Id { get; set; } + public System.String Name { get; set; } + public List NodeInterfaceMapping { get; set; } + public System.String RequestId { get; set; } + public Amazon.MediaLive.NodeRole Role { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.NodeRegistrationScript; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLWebsiteAuthorizationProviderFromFleet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLChannelPlacementGroup-Cmdlet.cs similarity index 64% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLWebsiteAuthorizationProviderFromFleet-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLChannelPlacementGroup-Cmdlet.cs index a258a2f1c6..ffe9263361 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLWebsiteAuthorizationProviderFromFleet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLChannelPlacementGroup-Cmdlet.cs @@ -22,66 +22,65 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Disassociates a website authorization provider from a specified fleet. After the disassociation, - /// users can't load any associated websites that require this authorization provider.

    This operation is deprecated. + /// Delete the specified ChannelPlacementGroup that exists in the specified Cluster. ///
    - [Cmdlet("Remove", "WLWebsiteAuthorizationProviderFromFleet", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink DisassociateWebsiteAuthorizationProvider API operation.", Operation = new[] {"DisassociateWebsiteAuthorizationProvider"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DisassociateWebsiteAuthorizationProviderResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.DisassociateWebsiteAuthorizationProviderResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.DisassociateWebsiteAuthorizationProviderResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Remove", "EMLChannelPlacementGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.MediaLive.Model.DeleteChannelPlacementGroupResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DeleteChannelPlacementGroup API operation.", Operation = new[] {"DeleteChannelPlacementGroup"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DeleteChannelPlacementGroupResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DeleteChannelPlacementGroupResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DeleteChannelPlacementGroupResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class RemoveWLWebsiteAuthorizationProviderFromFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemoveEMLChannelPlacementGroupCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter AuthorizationProviderId + #region Parameter ChannelPlacementGroupId /// /// - /// A unique identifier for the authorization provider. + /// The ID of the channel placement + /// group. /// /// #if !MODULAR - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String AuthorizationProviderId { get; set; } + public System.String ChannelPlacementGroupId { get; set; } #endregion - #region Parameter FleetArn + #region Parameter ClusterId /// /// - /// The ARN of the fleet. + /// The ID of the cluster. /// /// #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String ClusterId { get; set; } #endregion #region Parameter Select /// - /// 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.WorkLink.Model.DisassociateWebsiteAuthorizationProviderResponse). + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DeleteChannelPlacementGroupResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DeleteChannelPlacementGroupResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -90,10 +89,10 @@ public partial class RemoveWLWebsiteAuthorizationProviderFromFleetCmdlet : Amazo #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the ChannelPlacementGroupId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ChannelPlacementGroupId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ChannelPlacementGroupId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -113,8 +112,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-WLWebsiteAuthorizationProviderFromFleet (DisassociateWebsiteAuthorizationProvider)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ChannelPlacementGroupId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-EMLChannelPlacementGroup (DeleteChannelPlacementGroup)")) { return; } @@ -127,7 +126,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -136,21 +135,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.ChannelPlacementGroupId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.AuthorizationProviderId = this.AuthorizationProviderId; + context.ChannelPlacementGroupId = this.ChannelPlacementGroupId; #if MODULAR - if (this.AuthorizationProviderId == null && ParameterWasBound(nameof(this.AuthorizationProviderId))) + if (this.ChannelPlacementGroupId == null && ParameterWasBound(nameof(this.ChannelPlacementGroupId))) { - WriteWarning("You are passing $null as a value for parameter AuthorizationProviderId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ChannelPlacementGroupId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -167,15 +166,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DisassociateWebsiteAuthorizationProviderRequest(); + var request = new Amazon.MediaLive.Model.DeleteChannelPlacementGroupRequest(); - if (cmdletContext.AuthorizationProviderId != null) + if (cmdletContext.ChannelPlacementGroupId != null) { - request.AuthorizationProviderId = cmdletContext.AuthorizationProviderId; + request.ChannelPlacementGroupId = cmdletContext.ChannelPlacementGroupId; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.ClusterId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.ClusterId = cmdletContext.ClusterId; } CmdletOutput output; @@ -210,15 +209,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DisassociateWebsiteAuthorizationProviderResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DisassociateWebsiteAuthorizationProviderRequest request) + private Amazon.MediaLive.Model.DeleteChannelPlacementGroupResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DeleteChannelPlacementGroupRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DisassociateWebsiteAuthorizationProvider"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DeleteChannelPlacementGroup"); try { #if DESKTOP - return client.DisassociateWebsiteAuthorizationProvider(request); + return client.DeleteChannelPlacementGroup(request); #elif CORECLR - return client.DisassociateWebsiteAuthorizationProviderAsync(request).GetAwaiter().GetResult(); + return client.DeleteChannelPlacementGroupAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -238,10 +237,10 @@ private Amazon.WorkLink.Model.DisassociateWebsiteAuthorizationProviderResponse C internal partial class CmdletContext : ExecutorContext { - public System.String AuthorizationProviderId { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; + public System.String ChannelPlacementGroupId { get; set; } + public System.String ClusterId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLFleet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLCluster-Cmdlet.cs similarity index 69% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLFleet-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLCluster-Cmdlet.cs index b0854074de..083543fbd6 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLFleet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLCluster-Cmdlet.cs @@ -22,31 +22,29 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Deletes a fleet. Prevents users from accessing previously associated websites.

    This operation is deprecated. + /// Delete a Cluster. The Cluster must be idle. ///
    - [Cmdlet("Remove", "WLFleet", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink DeleteFleet API operation.", Operation = new[] {"DeleteFleet"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DeleteFleetResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.DeleteFleetResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.DeleteFleetResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Remove", "EMLCluster", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.MediaLive.Model.DeleteClusterResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DeleteCluster API operation.", Operation = new[] {"DeleteCluster"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DeleteClusterResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DeleteClusterResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DeleteClusterResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class RemoveWLFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemoveEMLClusterCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter ClusterId /// /// - /// The ARN of the fleet. + /// The ID of the cluster. /// /// #if !MODULAR @@ -57,13 +55,14 @@ public partial class RemoveWLFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String ClusterId { get; set; } #endregion #region Parameter Select /// - /// 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.WorkLink.Model.DeleteFleetResponse). + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DeleteClusterResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DeleteClusterResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -72,10 +71,10 @@ public partial class RemoveWLFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -95,8 +94,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-WLFleet (DeleteFleet)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ClusterId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-EMLCluster (DeleteCluster)")) { return; } @@ -109,7 +108,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -118,14 +117,14 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.ClusterId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -142,11 +141,11 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DeleteFleetRequest(); + var request = new Amazon.MediaLive.Model.DeleteClusterRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.ClusterId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.ClusterId = cmdletContext.ClusterId; } CmdletOutput output; @@ -181,15 +180,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DeleteFleetResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DeleteFleetRequest request) + private Amazon.MediaLive.Model.DeleteClusterResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DeleteClusterRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DeleteFleet"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DeleteCluster"); try { #if DESKTOP - return client.DeleteFleet(request); + return client.DeleteCluster(request); #elif CORECLR - return client.DeleteFleetAsync(request).GetAwaiter().GetResult(); + return client.DeleteClusterAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -209,9 +208,9 @@ private Amazon.WorkLink.Model.DeleteFleetResponse CallAWSServiceOperation(IAmazo internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; + public System.String ClusterId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLNetwork-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLNetwork-Cmdlet.cs new file mode 100644 index 0000000000..656667fc7f --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLNetwork-Cmdlet.cs @@ -0,0 +1,217 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Delete a Network. The Network must have no resources associated with it. + /// + [Cmdlet("Remove", "EMLNetwork", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.MediaLive.Model.DeleteNetworkResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DeleteNetwork API operation.", Operation = new[] {"DeleteNetwork"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DeleteNetworkResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DeleteNetworkResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DeleteNetworkResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveEMLNetworkCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter NetworkId + /// + /// + /// The ID of the network. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String NetworkId { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DeleteNetworkResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DeleteNetworkResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the NetworkId parameter. + /// The -PassThru parameter is deprecated, use -Select '^NetworkId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^NetworkId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.NetworkId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-EMLNetwork (DeleteNetwork)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.NetworkId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.NetworkId = this.NetworkId; + #if MODULAR + if (this.NetworkId == null && ParameterWasBound(nameof(this.NetworkId))) + { + WriteWarning("You are passing $null as a value for parameter NetworkId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.DeleteNetworkRequest(); + + if (cmdletContext.NetworkId != null) + { + request.NetworkId = cmdletContext.NetworkId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.DeleteNetworkResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DeleteNetworkRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DeleteNetwork"); + try + { + #if DESKTOP + return client.DeleteNetwork(request); + #elif CORECLR + return client.DeleteNetworkAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String NetworkId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Restore-WLDomainAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLNode-Cmdlet.cs similarity index 66% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Restore-WLDomainAccess-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLNode-Cmdlet.cs index 4efaa61cca..ff77a7eabe 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Restore-WLDomainAccess-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Remove-EMLNode-Cmdlet.cs @@ -22,31 +22,29 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Moves a domain to ACTIVE status if it was in the INACTIVE status.

    This operation is deprecated. + /// Delete a Node. The Node must be IDLE. ///
    - [Cmdlet("Restore", "WLDomainAccess", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink RestoreDomainAccess API operation.", Operation = new[] {"RestoreDomainAccess"}, SelectReturnType = typeof(Amazon.WorkLink.Model.RestoreDomainAccessResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.RestoreDomainAccessResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.RestoreDomainAccessResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Remove", "EMLNode", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.MediaLive.Model.DeleteNodeResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive DeleteNode API operation.", Operation = new[] {"DeleteNode"}, SelectReturnType = typeof(Amazon.MediaLive.Model.DeleteNodeResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.DeleteNodeResponse", + "This cmdlet returns an Amazon.MediaLive.Model.DeleteNodeResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class RestoreWLDomainAccessCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemoveEMLNodeCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DomainName + #region Parameter ClusterId /// /// - /// The name of the domain. + /// The ID of the cluster /// /// #if !MODULAR @@ -57,13 +55,13 @@ public partial class RestoreWLDomainAccessCmdlet : AmazonWorkLinkClientCmdlet, I [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String DomainName { get; set; } + public System.String ClusterId { get; set; } #endregion - #region Parameter FleetArn + #region Parameter NodeId /// /// - /// The ARN of the fleet. + /// The ID of the node. /// /// #if !MODULAR @@ -74,13 +72,14 @@ public partial class RestoreWLDomainAccessCmdlet : AmazonWorkLinkClientCmdlet, I [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String NodeId { get; set; } #endregion #region Parameter Select /// - /// 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.WorkLink.Model.RestoreDomainAccessResponse). + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.DeleteNodeResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.DeleteNodeResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -89,10 +88,10 @@ public partial class RestoreWLDomainAccessCmdlet : AmazonWorkLinkClientCmdlet, I #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the NodeId parameter. + /// The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -112,8 +111,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Restore-WLDomainAccess (RestoreDomainAccess)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.NodeId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-EMLNode (DeleteNode)")) { return; } @@ -126,7 +125,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -135,21 +134,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.NodeId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DomainName = this.DomainName; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.DomainName == null && ParameterWasBound(nameof(this.DomainName))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter DomainName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.NodeId = this.NodeId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.NodeId == null && ParameterWasBound(nameof(this.NodeId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter NodeId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -166,15 +165,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.RestoreDomainAccessRequest(); + var request = new Amazon.MediaLive.Model.DeleteNodeRequest(); - if (cmdletContext.DomainName != null) + if (cmdletContext.ClusterId != null) { - request.DomainName = cmdletContext.DomainName; + request.ClusterId = cmdletContext.ClusterId; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.NodeId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.NodeId = cmdletContext.NodeId; } CmdletOutput output; @@ -209,15 +208,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.RestoreDomainAccessResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.RestoreDomainAccessRequest request) + private Amazon.MediaLive.Model.DeleteNodeResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.DeleteNodeRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "RestoreDomainAccess"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "DeleteNode"); try { #if DESKTOP - return client.RestoreDomainAccess(request); + return client.DeleteNode(request); #elif CORECLR - return client.RestoreDomainAccessAsync(request).GetAwaiter().GetResult(); + return client.DeleteNodeAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -237,10 +236,10 @@ private Amazon.WorkLink.Model.RestoreDomainAccessResponse CallAWSServiceOperatio internal partial class CmdletContext : ExecutorContext { - public System.String DomainName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; + public System.String ClusterId { get; set; } + public System.String NodeId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Add-WLWebsiteAuthorizationProviderToFleet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLChannelPlacementGroup-Cmdlet.cs similarity index 58% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Add-WLWebsiteAuthorizationProviderToFleet-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLChannelPlacementGroup-Cmdlet.cs index c8f0f82bc2..eef6a7a004 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Add-WLWebsiteAuthorizationProviderToFleet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLChannelPlacementGroup-Cmdlet.cs @@ -22,90 +22,101 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Associates a website authorization provider with a specified fleet. This is used to - /// authorize users against associated websites in the company network.

    This operation is deprecated. + /// Change the settings for a ChannelPlacementGroup. ///
    - [Cmdlet("Add", "WLWebsiteAuthorizationProviderToFleet", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("System.String")] - [AWSCmdlet("Calls the Amazon WorkLink AssociateWebsiteAuthorizationProvider API operation.", Operation = new[] {"AssociateWebsiteAuthorizationProvider"}, SelectReturnType = typeof(Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderResponse))] - [AWSCmdletOutput("System.String or Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderResponse", - "This cmdlet returns a System.String object.", - "The service call response (type Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Update", "EMLChannelPlacementGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.UpdateChannelPlacementGroupResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive UpdateChannelPlacementGroup API operation.", Operation = new[] {"UpdateChannelPlacementGroup"}, SelectReturnType = typeof(Amazon.MediaLive.Model.UpdateChannelPlacementGroupResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.UpdateChannelPlacementGroupResponse", + "This cmdlet returns an Amazon.MediaLive.Model.UpdateChannelPlacementGroupResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class AddWLWebsiteAuthorizationProviderToFleetCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class UpdateEMLChannelPlacementGroupCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter AuthorizationProviderType + #region Parameter ChannelPlacementGroupId /// /// - /// The authorization provider type. + /// The ID of the channel placement + /// group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ChannelPlacementGroupId { get; set; } + #endregion + + #region Parameter ClusterId + /// + /// + /// The ID of the cluster. /// /// #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - [AWSConstantClassSource("Amazon.WorkLink.AuthorizationProviderType")] - public Amazon.WorkLink.AuthorizationProviderType AuthorizationProviderType { get; set; } + public System.String ClusterId { get; set; } #endregion - #region Parameter DomainName + #region Parameter Name /// /// - /// The domain name of the authorization provider. This applies only to SAML-based authorization - /// providers. + /// Include this parameter only if you want to change + /// the current name of the ChannelPlacementGroup. Specify a name that is unique in the + /// Cluster. You can't change the name. Names are case-sensitive. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String DomainName { get; set; } + public System.String Name { get; set; } #endregion - #region Parameter FleetArn + #region Parameter Node /// /// - /// The ARN of the fleet. + /// Include this parameter only if you want to change + /// the list of Nodes that are associated with the ChannelPlacementGroup. /// /// - #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] - #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Nodes")] + public System.String[] Node { get; set; } #endregion #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'AuthorizationProviderId'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.UpdateChannelPlacementGroupResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.UpdateChannelPlacementGroupResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "AuthorizationProviderId"; + public string Select { get; set; } = "*"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the ChannelPlacementGroupId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ChannelPlacementGroupId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ChannelPlacementGroupId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -125,8 +136,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Add-WLWebsiteAuthorizationProviderToFleet (AssociateWebsiteAuthorizationProvider)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ChannelPlacementGroupId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-EMLChannelPlacementGroup (UpdateChannelPlacementGroup)")) { return; } @@ -139,7 +150,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -148,24 +159,28 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.ChannelPlacementGroupId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.AuthorizationProviderType = this.AuthorizationProviderType; + context.ChannelPlacementGroupId = this.ChannelPlacementGroupId; #if MODULAR - if (this.AuthorizationProviderType == null && ParameterWasBound(nameof(this.AuthorizationProviderType))) + if (this.ChannelPlacementGroupId == null && ParameterWasBound(nameof(this.ChannelPlacementGroupId))) { - WriteWarning("You are passing $null as a value for parameter AuthorizationProviderType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ChannelPlacementGroupId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.DomainName = this.DomainName; - context.FleetArn = this.FleetArn; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.Name = this.Name; + if (this.Node != null) + { + context.Node = new List(this.Node); + } // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -180,19 +195,23 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderRequest(); + var request = new Amazon.MediaLive.Model.UpdateChannelPlacementGroupRequest(); - if (cmdletContext.AuthorizationProviderType != null) + if (cmdletContext.ChannelPlacementGroupId != null) + { + request.ChannelPlacementGroupId = cmdletContext.ChannelPlacementGroupId; + } + if (cmdletContext.ClusterId != null) { - request.AuthorizationProviderType = cmdletContext.AuthorizationProviderType; + request.ClusterId = cmdletContext.ClusterId; } - if (cmdletContext.DomainName != null) + if (cmdletContext.Name != null) { - request.DomainName = cmdletContext.DomainName; + request.Name = cmdletContext.Name; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.Node != null) { - request.FleetArn = cmdletContext.FleetArn; + request.Nodes = cmdletContext.Node; } CmdletOutput output; @@ -227,15 +246,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderRequest request) + private Amazon.MediaLive.Model.UpdateChannelPlacementGroupResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.UpdateChannelPlacementGroupRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "AssociateWebsiteAuthorizationProvider"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "UpdateChannelPlacementGroup"); try { #if DESKTOP - return client.AssociateWebsiteAuthorizationProvider(request); + return client.UpdateChannelPlacementGroup(request); #elif CORECLR - return client.AssociateWebsiteAuthorizationProviderAsync(request).GetAwaiter().GetResult(); + return client.UpdateChannelPlacementGroupAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -255,11 +274,12 @@ private Amazon.WorkLink.Model.AssociateWebsiteAuthorizationProviderResponse Call internal partial class CmdletContext : ExecutorContext { - public Amazon.WorkLink.AuthorizationProviderType AuthorizationProviderType { get; set; } - public System.String DomainName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.AuthorizationProviderId; + public System.String ChannelPlacementGroupId { get; set; } + public System.String ClusterId { get; set; } + public System.String Name { get; set; } + public List Node { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLCluster-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLCluster-Cmdlet.cs new file mode 100644 index 0000000000..ac40a8af2c --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLCluster-Cmdlet.cs @@ -0,0 +1,308 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Change the settings for a Cluster. + /// + [Cmdlet("Update", "EMLCluster", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.UpdateClusterResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive UpdateCluster API operation.", Operation = new[] {"UpdateCluster"}, SelectReturnType = typeof(Amazon.MediaLive.Model.UpdateClusterResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.UpdateClusterResponse", + "This cmdlet returns an Amazon.MediaLive.Model.UpdateClusterResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateEMLClusterCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterId + /// + /// + /// The ID of the cluster + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterId { get; set; } + #endregion + + #region Parameter NetworkSettings_DefaultRoute + /// + /// + /// Include this parameter only if you want to + /// change the default route for the Cluster. Specify one network interface as the default + /// route for traffic to and from the node. MediaLive Anywhere uses this default when + /// the destination for the traffic isn't covered by the route table for any of the networks. + /// Specify the value of the appropriate logicalInterfaceName parameter that you create + /// in the interfaceMappings. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NetworkSettings_DefaultRoute { get; set; } + #endregion + + #region Parameter NetworkSettings_InterfaceMapping + /// + /// + /// An array of interfaceMapping objects + /// for this Cluster. Include this parameter only if you want to change the interface + /// mappings for the Cluster. Typically, you change the interface mappings only to fix + /// an error you made when creating the mapping. In an update request, make sure that + /// you enter the entire set of mappings again, not just the mappings that you want to + /// add or change. You define this mapping so that the mapping can be used by all the + /// Nodes. Each mapping logically connects one interface on the nodes with one Network. + /// Each mapping consists of a pair of parameters. The logicalInterfaceName parameter + /// creates a logical name for the Node interface that handles a specific type of traffic. + /// For example, my-Inputs-Interface. The networkID parameter refers to the ID of the + /// network. When you create the Nodes in this Cluster, you will associate the logicalInterfaceName + /// with the appropriate physical interface. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NetworkSettings_InterfaceMappings")] + public Amazon.MediaLive.Model.InterfaceMappingUpdateRequest[] NetworkSettings_InterfaceMapping { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// Include this parameter only if you want to change + /// the current name of the Cluster. Specify a name that is unique in the AWS account. + /// You can't change the name. Names are case-sensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.UpdateClusterResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.UpdateClusterResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterId parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ClusterId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-EMLCluster (UpdateCluster)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterId = this.ClusterId; + #if MODULAR + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) + { + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Name = this.Name; + context.NetworkSettings_DefaultRoute = this.NetworkSettings_DefaultRoute; + if (this.NetworkSettings_InterfaceMapping != null) + { + context.NetworkSettings_InterfaceMapping = new List(this.NetworkSettings_InterfaceMapping); + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.UpdateClusterRequest(); + + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + + // populate NetworkSettings + var requestNetworkSettingsIsNull = true; + request.NetworkSettings = new Amazon.MediaLive.Model.ClusterNetworkSettingsUpdateRequest(); + System.String requestNetworkSettings_networkSettings_DefaultRoute = null; + if (cmdletContext.NetworkSettings_DefaultRoute != null) + { + requestNetworkSettings_networkSettings_DefaultRoute = cmdletContext.NetworkSettings_DefaultRoute; + } + if (requestNetworkSettings_networkSettings_DefaultRoute != null) + { + request.NetworkSettings.DefaultRoute = requestNetworkSettings_networkSettings_DefaultRoute; + requestNetworkSettingsIsNull = false; + } + List requestNetworkSettings_networkSettings_InterfaceMapping = null; + if (cmdletContext.NetworkSettings_InterfaceMapping != null) + { + requestNetworkSettings_networkSettings_InterfaceMapping = cmdletContext.NetworkSettings_InterfaceMapping; + } + if (requestNetworkSettings_networkSettings_InterfaceMapping != null) + { + request.NetworkSettings.InterfaceMappings = requestNetworkSettings_networkSettings_InterfaceMapping; + requestNetworkSettingsIsNull = false; + } + // determine if request.NetworkSettings should be set to null + if (requestNetworkSettingsIsNull) + { + request.NetworkSettings = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.UpdateClusterResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.UpdateClusterRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "UpdateCluster"); + try + { + #if DESKTOP + return client.UpdateCluster(request); + #elif CORECLR + return client.UpdateClusterAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterId { get; set; } + public System.String Name { get; set; } + public System.String NetworkSettings_DefaultRoute { get; set; } + public List NetworkSettings_InterfaceMapping { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLInput-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLInput-Cmdlet.cs index 322313a16f..6552fbf18c 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLInput-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLInput-Cmdlet.cs @@ -129,6 +129,17 @@ public partial class UpdateEMLInputCmdlet : AmazonMediaLiveClientCmdlet, IExecut public System.String RoleArn { get; set; } #endregion + #region Parameter MulticastSettings_Source + /// + /// + /// The service has not provided documentation for this parameter; please refer to the service's API reference documentation for the latest available information. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MulticastSettings_Sources")] + public Amazon.MediaLive.Model.MulticastSourceUpdateRequest[] MulticastSettings_Source { get; set; } + #endregion + #region Parameter Source /// /// @@ -238,6 +249,10 @@ protected override void ProcessRecord() { context.MediaConnectFlow = new List(this.MediaConnectFlow); } + if (this.MulticastSettings_Source != null) + { + context.MulticastSettings_Source = new List(this.MulticastSettings_Source); + } context.Name = this.Name; context.RoleArn = this.RoleArn; if (this.Source != null) @@ -284,6 +299,25 @@ public object Execute(ExecutorContext context) { request.MediaConnectFlows = cmdletContext.MediaConnectFlow; } + + // populate MulticastSettings + var requestMulticastSettingsIsNull = true; + request.MulticastSettings = new Amazon.MediaLive.Model.MulticastSettingsUpdateRequest(); + List requestMulticastSettings_multicastSettings_Source = null; + if (cmdletContext.MulticastSettings_Source != null) + { + requestMulticastSettings_multicastSettings_Source = cmdletContext.MulticastSettings_Source; + } + if (requestMulticastSettings_multicastSettings_Source != null) + { + request.MulticastSettings.Sources = requestMulticastSettings_multicastSettings_Source; + requestMulticastSettingsIsNull = false; + } + // determine if request.MulticastSettings should be set to null + if (requestMulticastSettingsIsNull) + { + request.MulticastSettings = null; + } if (cmdletContext.Name != null) { request.Name = cmdletContext.Name; @@ -381,6 +415,7 @@ internal partial class CmdletContext : ExecutorContext public System.String InputId { get; set; } public List InputSecurityGroup { get; set; } public List MediaConnectFlow { get; set; } + public List MulticastSettings_Source { get; set; } public System.String Name { get; set; } public System.String RoleArn { get; set; } public List Source { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLMultiplexProgram-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLMultiplexProgram-Cmdlet.cs index 8f2c0afa15..56021ef140 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLMultiplexProgram-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLMultiplexProgram-Cmdlet.cs @@ -111,7 +111,7 @@ public partial class UpdateEMLMultiplexProgramCmdlet : AmazonMediaLiveClientCmdl /// /// The purpose of the priority is to use a combination /// of the\nmultiplex rate control algorithm and the QVBR capability of the\nencoder to - /// prioritize the video quality of some channels in a\nmultiplex over others. Channels + /// prioritize the video quality of some channels in a\nmultiplex over others. Channels /// that have a higher priority will\nget higher video quality at the expense of the video /// quality of\nother channels in the multiplex with lower priority. /// diff --git a/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNetwork-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNetwork-Cmdlet.cs new file mode 100644 index 0000000000..562197f9f9 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNetwork-Cmdlet.cs @@ -0,0 +1,282 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; + +namespace Amazon.PowerShell.Cmdlets.EML +{ + /// + /// Change the settings for a Network. + /// + [Cmdlet("Update", "EMLNetwork", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.UpdateNetworkResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive UpdateNetwork API operation.", Operation = new[] {"UpdateNetwork"}, SelectReturnType = typeof(Amazon.MediaLive.Model.UpdateNetworkResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.UpdateNetworkResponse", + "This cmdlet returns an Amazon.MediaLive.Model.UpdateNetworkResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateEMLNetworkCmdlet : AmazonMediaLiveClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter IpPool + /// + /// + /// Include this parameter only if you want to change + /// the pool of IP addresses in the network. An array of IpPoolCreateRequests that identify + /// a collection of IP addresses in this network that you want to reserve for use in MediaLive + /// Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge + /// and NAT networks) and for output destinations (only in Bridge networks). Each IpPoolUpdateRequest + /// specifies one CIDR block. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("IpPools")] + public Amazon.MediaLive.Model.IpPoolUpdateRequest[] IpPool { get; set; } + #endregion + + #region Parameter Name + /// + /// + /// Include this parameter only if you want to change + /// the name of the Network. Specify a name that is unique in the AWS account. Names are + /// case-sensitive. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Name { get; set; } + #endregion + + #region Parameter NetworkId + /// + /// + /// The ID of the network + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String NetworkId { get; set; } + #endregion + + #region Parameter Route + /// + /// + /// Include this parameter only if you want to change + /// or add routes in the Network. An array of Routes that MediaLive Anywhere needs to + /// know about in order to route encoding traffic. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Routes")] + public Amazon.MediaLive.Model.RouteUpdateRequest[] Route { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.UpdateNetworkResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.UpdateNetworkResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the NetworkId parameter. + /// The -PassThru parameter is deprecated, use -Select '^NetworkId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^NetworkId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.NetworkId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-EMLNetwork (UpdateNetwork)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.NetworkId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.IpPool != null) + { + context.IpPool = new List(this.IpPool); + } + context.Name = this.Name; + context.NetworkId = this.NetworkId; + #if MODULAR + if (this.NetworkId == null && ParameterWasBound(nameof(this.NetworkId))) + { + WriteWarning("You are passing $null as a value for parameter NetworkId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.Route != null) + { + context.Route = new List(this.Route); + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.MediaLive.Model.UpdateNetworkRequest(); + + if (cmdletContext.IpPool != null) + { + request.IpPools = cmdletContext.IpPool; + } + if (cmdletContext.Name != null) + { + request.Name = cmdletContext.Name; + } + if (cmdletContext.NetworkId != null) + { + request.NetworkId = cmdletContext.NetworkId; + } + if (cmdletContext.Route != null) + { + request.Routes = cmdletContext.Route; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.MediaLive.Model.UpdateNetworkResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.UpdateNetworkRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "UpdateNetwork"); + try + { + #if DESKTOP + return client.UpdateNetwork(request); + #elif CORECLR + return client.UpdateNetworkAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List IpPool { get; set; } + public System.String Name { get; set; } + public System.String NetworkId { get; set; } + public List Route { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Register-WLWebsiteCertificateAuthority-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNode-Cmdlet.cs similarity index 61% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Register-WLWebsiteCertificateAuthority-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNode-Cmdlet.cs index 1a067aaba9..f7280a2d8b 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Register-WLWebsiteCertificateAuthority-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNode-Cmdlet.cs @@ -22,32 +22,29 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Imports the root certificate of a certificate authority (CA) used to obtain TLS certificates - /// used by associated websites within the company network.

    This operation is deprecated. + /// Change the settings for a Node. ///
    - [Cmdlet("Register", "WLWebsiteCertificateAuthority", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("System.String")] - [AWSCmdlet("Calls the Amazon WorkLink AssociateWebsiteCertificateAuthority API operation.", Operation = new[] {"AssociateWebsiteCertificateAuthority"}, SelectReturnType = typeof(Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityResponse))] - [AWSCmdletOutput("System.String or Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityResponse", - "This cmdlet returns a System.String object.", - "The service call response (type Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Update", "EMLNode", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.UpdateNodeResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive UpdateNode API operation.", Operation = new[] {"UpdateNode"}, SelectReturnType = typeof(Amazon.MediaLive.Model.UpdateNodeResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.UpdateNodeResponse", + "This cmdlet returns an Amazon.MediaLive.Model.UpdateNodeResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class RegisterWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class UpdateEMLNodeCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter Certificate + #region Parameter ClusterId /// /// - /// The root certificate of the CA. + /// The ID of the cluster /// /// #if !MODULAR @@ -58,23 +55,25 @@ public partial class RegisterWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLin [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String Certificate { get; set; } + public System.String ClusterId { get; set; } #endregion - #region Parameter DisplayName + #region Parameter Name /// /// - /// The certificate name to display. + /// Include this parameter only if you want to change + /// the current name of the Node. Specify a name that is unique in the Cluster. You can't + /// change the name. Names are case-sensitive. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String DisplayName { get; set; } + public System.String Name { get; set; } #endregion - #region Parameter FleetArn + #region Parameter NodeId /// /// - /// The ARN of the fleet. + /// The ID of the node. /// /// #if !MODULAR @@ -85,26 +84,39 @@ public partial class RegisterWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLin [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String NodeId { get; set; } + #endregion + + #region Parameter Role + /// + /// + /// The initial role of the Node in the Cluster. ACTIVE + /// means the Node is available for encoding. BACKUP means the Node is a redundant Node + /// and might get used if an ACTIVE Node fails. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaLive.NodeRole")] + public Amazon.MediaLive.NodeRole Role { get; set; } #endregion #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'WebsiteCaId'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.UpdateNodeResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.UpdateNodeResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "WebsiteCaId"; + public string Select { get; set; } = "*"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the NodeId parameter. + /// The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -124,8 +136,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Register-WLWebsiteCertificateAuthority (AssociateWebsiteCertificateAuthority)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.NodeId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-EMLNode (UpdateNode)")) { return; } @@ -138,7 +150,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -147,24 +159,25 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.NodeId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.Certificate = this.Certificate; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.Certificate == null && ParameterWasBound(nameof(this.Certificate))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter Certificate which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.DisplayName = this.DisplayName; - context.FleetArn = this.FleetArn; + context.Name = this.Name; + context.NodeId = this.NodeId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.NodeId == null && ParameterWasBound(nameof(this.NodeId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter NodeId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.Role = this.Role; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -179,19 +192,23 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityRequest(); + var request = new Amazon.MediaLive.Model.UpdateNodeRequest(); - if (cmdletContext.Certificate != null) + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + if (cmdletContext.Name != null) { - request.Certificate = cmdletContext.Certificate; + request.Name = cmdletContext.Name; } - if (cmdletContext.DisplayName != null) + if (cmdletContext.NodeId != null) { - request.DisplayName = cmdletContext.DisplayName; + request.NodeId = cmdletContext.NodeId; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.Role != null) { - request.FleetArn = cmdletContext.FleetArn; + request.Role = cmdletContext.Role; } CmdletOutput output; @@ -226,15 +243,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityRequest request) + private Amazon.MediaLive.Model.UpdateNodeResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.UpdateNodeRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "AssociateWebsiteCertificateAuthority"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "UpdateNode"); try { #if DESKTOP - return client.AssociateWebsiteCertificateAuthority(request); + return client.UpdateNode(request); #elif CORECLR - return client.AssociateWebsiteCertificateAuthorityAsync(request).GetAwaiter().GetResult(); + return client.UpdateNodeAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -254,11 +271,12 @@ private Amazon.WorkLink.Model.AssociateWebsiteCertificateAuthorityResponse CallA internal partial class CmdletContext : ExecutorContext { - public System.String Certificate { get; set; } - public System.String DisplayName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.WebsiteCaId; + public System.String ClusterId { get; set; } + public System.String Name { get; set; } + public System.String NodeId { get; set; } + public Amazon.MediaLive.NodeRole Role { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Unregister-WLDomain-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNodeState-Cmdlet.cs similarity index 62% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Unregister-WLDomain-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNodeState-Cmdlet.cs index 09bb8d1327..184aac40d6 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Unregister-WLDomain-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaLive/Basic/Update-EMLNodeState-Cmdlet.cs @@ -22,32 +22,29 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.MediaLive; +using Amazon.MediaLive.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.EML { /// - /// Disassociates a domain from Amazon WorkLink. End users lose the ability to access - /// the domain with Amazon WorkLink.

    This operation is deprecated. + /// Update the state of a node. ///
    - [Cmdlet("Unregister", "WLDomain", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink DisassociateDomain API operation.", Operation = new[] {"DisassociateDomain"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DisassociateDomainResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.DisassociateDomainResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.DisassociateDomainResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Update", "EMLNodeState", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.MediaLive.Model.UpdateNodeStateResponse")] + [AWSCmdlet("Calls the AWS Elemental MediaLive UpdateNodeState API operation.", Operation = new[] {"UpdateNodeState"}, SelectReturnType = typeof(Amazon.MediaLive.Model.UpdateNodeStateResponse))] + [AWSCmdletOutput("Amazon.MediaLive.Model.UpdateNodeStateResponse", + "This cmdlet returns an Amazon.MediaLive.Model.UpdateNodeStateResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UnregisterWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class UpdateEMLNodeStateCmdlet : AmazonMediaLiveClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DomainName + #region Parameter ClusterId /// /// - /// The name of the domain. + /// The ID of the cluster /// /// #if !MODULAR @@ -58,13 +55,13 @@ public partial class UnregisterWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExe [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String DomainName { get; set; } + public System.String ClusterId { get; set; } #endregion - #region Parameter FleetArn + #region Parameter NodeId /// /// - /// The ARN of the fleet. + /// The ID of the node. /// /// #if !MODULAR @@ -75,13 +72,29 @@ public partial class UnregisterWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExe [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String NodeId { get; set; } + #endregion + + #region Parameter State + /// + /// + /// The state to apply to the Node. Set to ACTIVE (COMMISSIONED) + /// to indicate that the Node is deployable. MediaLive Anywhere will consider this node + /// it needs a Node to run a Channel on, or when it needs a Node to promote from a backup + /// node to an active node. Set to DRAINING to isolate the Node so that MediaLive Anywhere + /// won't use it. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.MediaLive.UpdateNodeState")] + public Amazon.MediaLive.UpdateNodeState State { get; set; } #endregion #region Parameter Select /// - /// 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.WorkLink.Model.DisassociateDomainResponse). + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MediaLive.Model.UpdateNodeStateResponse). + /// Specifying the name of a property of type Amazon.MediaLive.Model.UpdateNodeStateResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -90,10 +103,10 @@ public partial class UnregisterWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExe #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the NodeId parameter. + /// The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^NodeId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -113,8 +126,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Unregister-WLDomain (DisassociateDomain)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.NodeId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-EMLNodeState (UpdateNodeState)")) { return; } @@ -127,7 +140,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -136,23 +149,24 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.NodeId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DomainName = this.DomainName; + context.ClusterId = this.ClusterId; #if MODULAR - if (this.DomainName == null && ParameterWasBound(nameof(this.DomainName))) + if (this.ClusterId == null && ParameterWasBound(nameof(this.ClusterId))) { - WriteWarning("You are passing $null as a value for parameter DomainName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.NodeId = this.NodeId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.NodeId == null && ParameterWasBound(nameof(this.NodeId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter NodeId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.State = this.State; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -167,15 +181,19 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DisassociateDomainRequest(); + var request = new Amazon.MediaLive.Model.UpdateNodeStateRequest(); - if (cmdletContext.DomainName != null) + if (cmdletContext.ClusterId != null) + { + request.ClusterId = cmdletContext.ClusterId; + } + if (cmdletContext.NodeId != null) { - request.DomainName = cmdletContext.DomainName; + request.NodeId = cmdletContext.NodeId; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.State != null) { - request.FleetArn = cmdletContext.FleetArn; + request.State = cmdletContext.State; } CmdletOutput output; @@ -210,15 +228,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DisassociateDomainResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DisassociateDomainRequest request) + private Amazon.MediaLive.Model.UpdateNodeStateResponse CallAWSServiceOperation(IAmazonMediaLive client, Amazon.MediaLive.Model.UpdateNodeStateRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DisassociateDomain"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Elemental MediaLive", "UpdateNodeState"); try { #if DESKTOP - return client.DisassociateDomain(request); + return client.UpdateNodeState(request); #elif CORECLR - return client.DisassociateDomainAsync(request).GetAwaiter().GetResult(); + return client.UpdateNodeStateAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -238,10 +256,11 @@ private Amazon.WorkLink.Model.DisassociateDomainResponse CallAWSServiceOperation internal partial class CmdletContext : ExecutorContext { - public System.String DomainName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; + public System.String ClusterId { get; set; } + public System.String NodeId { get; set; } + public Amazon.MediaLive.UpdateNodeState State { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/MediaPackage/AmazonMediaPackageClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaPackage/AmazonMediaPackageClientCmdlet.cs index 2e5d493032..781e1db8a4 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaPackage/AmazonMediaPackageClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaPackage/AmazonMediaPackageClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaPackage CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaPackageConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaPackageV2/AmazonMediaPackageV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaPackageV2/AmazonMediaPackageV2ClientCmdlet.cs index b184ac717f..3e1e84c7f0 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaPackageV2/AmazonMediaPackageV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaPackageV2/AmazonMediaPackageV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaPackageV2 CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaPackageV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaPackageVod/AmazonMediaPackageVodClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaPackageVod/AmazonMediaPackageVodClientCmdlet.cs index bd2c5d96ef..5f51fc7ee8 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaPackageVod/AmazonMediaPackageVodClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaPackageVod/AmazonMediaPackageVodClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaPackageVod CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaPackageVodConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaStore/AmazonMediaStoreClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaStore/AmazonMediaStoreClientCmdlet.cs index c13231a420..aabb268b87 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaStore/AmazonMediaStoreClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaStore/AmazonMediaStoreClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaStore CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaStoreConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaStoreData/AmazonMediaStoreDataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaStoreData/AmazonMediaStoreDataClientCmdlet.cs index 837d9f47cc..ada47e0604 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaStoreData/AmazonMediaStoreDataClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaStoreData/AmazonMediaStoreDataClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaStoreData CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaStoreDataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MediaTailor/AmazonMediaTailorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MediaTailor/AmazonMediaTailorClientCmdlet.cs index 3f9f72c434..45dd79b5b4 100644 --- a/modules/AWSPowerShell/Cmdlets/MediaTailor/AmazonMediaTailorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MediaTailor/AmazonMediaTailorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMediaTailor CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMediaTailorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MedicalImaging/AmazonMedicalImagingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MedicalImaging/AmazonMedicalImagingClientCmdlet.cs index 9fd8f5961b..855c7add5c 100644 --- a/modules/AWSPowerShell/Cmdlets/MedicalImaging/AmazonMedicalImagingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MedicalImaging/AmazonMedicalImagingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMedicalImaging CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMedicalImagingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MemoryDB/AmazonMemoryDBClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MemoryDB/AmazonMemoryDBClientCmdlet.cs index 8790e09677..5fad680d49 100644 --- a/modules/AWSPowerShell/Cmdlets/MemoryDB/AmazonMemoryDBClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MemoryDB/AmazonMemoryDBClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMemoryDB CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMemoryDBConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Mgn/AmazonMgnClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Mgn/AmazonMgnClientCmdlet.cs index bfdfe8f255..3d63a8f484 100644 --- a/modules/AWSPowerShell/Cmdlets/Mgn/AmazonMgnClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Mgn/AmazonMgnClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMgn CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMgnConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MigrationHub/AmazonMigrationHubClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MigrationHub/AmazonMigrationHubClientCmdlet.cs index 11edd832d6..b9b9669b55 100644 --- a/modules/AWSPowerShell/Cmdlets/MigrationHub/AmazonMigrationHubClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MigrationHub/AmazonMigrationHubClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMigrationHub CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMigrationHubConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MigrationHubConfig/AmazonMigrationHubConfigClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MigrationHubConfig/AmazonMigrationHubConfigClientCmdlet.cs index 9fcae85d33..6450c8bc11 100644 --- a/modules/AWSPowerShell/Cmdlets/MigrationHubConfig/AmazonMigrationHubConfigClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MigrationHubConfig/AmazonMigrationHubConfigClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMigrationHubConfig CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMigrationHubConfigConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MigrationHubOrchestrator/AmazonMigrationHubOrchestratorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MigrationHubOrchestrator/AmazonMigrationHubOrchestratorClientCmdlet.cs index 74671df1e1..98bba8d120 100644 --- a/modules/AWSPowerShell/Cmdlets/MigrationHubOrchestrator/AmazonMigrationHubOrchestratorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MigrationHubOrchestrator/AmazonMigrationHubOrchestratorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMigrationHubOrchestrator CreateClient(AWSCredentials credential return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMigrationHubOrchestratorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MigrationHubRefactorSpaces/AmazonMigrationHubRefactorSpacesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MigrationHubRefactorSpaces/AmazonMigrationHubRefactorSpacesClientCmdlet.cs index e91d7e5c3f..15dd8a380e 100644 --- a/modules/AWSPowerShell/Cmdlets/MigrationHubRefactorSpaces/AmazonMigrationHubRefactorSpacesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MigrationHubRefactorSpaces/AmazonMigrationHubRefactorSpacesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMigrationHubRefactorSpaces CreateClient(AWSCredentials credenti return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMigrationHubRefactorSpacesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/MigrationHubStrategyRecommendations/AmazonMigrationHubStrategyRecommendationsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/MigrationHubStrategyRecommendations/AmazonMigrationHubStrategyRecommendationsClientCmdlet.cs index e73787a277..d5c4261be5 100644 --- a/modules/AWSPowerShell/Cmdlets/MigrationHubStrategyRecommendations/AmazonMigrationHubStrategyRecommendationsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/MigrationHubStrategyRecommendations/AmazonMigrationHubStrategyRecommendationsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonMigrationHubStrategyRecommendations CreateClient(AWSCredentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonMigrationHubStrategyRecommendationsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Neptune/AmazonNeptuneClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Neptune/AmazonNeptuneClientCmdlet.cs index 9a9003fc91..4d884929b4 100644 --- a/modules/AWSPowerShell/Cmdlets/Neptune/AmazonNeptuneClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Neptune/AmazonNeptuneClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonNeptune CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonNeptuneConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/NeptuneGraph/AmazonNeptuneGraphClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/NeptuneGraph/AmazonNeptuneGraphClientCmdlet.cs index cbd98d6d96..680aeaea45 100644 --- a/modules/AWSPowerShell/Cmdlets/NeptuneGraph/AmazonNeptuneGraphClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/NeptuneGraph/AmazonNeptuneGraphClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonNeptuneGraph CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonNeptuneGraphConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Neptunedata/AmazonNeptunedataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Neptunedata/AmazonNeptunedataClientCmdlet.cs index ad474c5663..72a6db3831 100644 --- a/modules/AWSPowerShell/Cmdlets/Neptunedata/AmazonNeptunedataClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Neptunedata/AmazonNeptunedataClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonNeptunedata CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonNeptunedataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/NetworkFirewall/AmazonNetworkFirewallClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/NetworkFirewall/AmazonNetworkFirewallClientCmdlet.cs index 7697c003bf..9d97134549 100644 --- a/modules/AWSPowerShell/Cmdlets/NetworkFirewall/AmazonNetworkFirewallClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/NetworkFirewall/AmazonNetworkFirewallClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonNetworkFirewall CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonNetworkFirewallConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/NetworkManager/AmazonNetworkManagerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/NetworkManager/AmazonNetworkManagerClientCmdlet.cs index f153f72571..4483718b30 100644 --- a/modules/AWSPowerShell/Cmdlets/NetworkManager/AmazonNetworkManagerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/NetworkManager/AmazonNetworkManagerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonNetworkManager CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonNetworkManagerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/NetworkMonitor/AmazonNetworkMonitorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/NetworkMonitor/AmazonNetworkMonitorClientCmdlet.cs index ad1fa6b598..31da13c7b9 100644 --- a/modules/AWSPowerShell/Cmdlets/NetworkMonitor/AmazonNetworkMonitorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/NetworkMonitor/AmazonNetworkMonitorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonNetworkMonitor CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonNetworkMonitorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/NimbleStudio/AmazonNimbleStudioClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/NimbleStudio/AmazonNimbleStudioClientCmdlet.cs index a687c4193f..9319c7246a 100644 --- a/modules/AWSPowerShell/Cmdlets/NimbleStudio/AmazonNimbleStudioClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/NimbleStudio/AmazonNimbleStudioClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonNimbleStudio CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonNimbleStudioConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/OAM/AmazonOAMClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/OAM/AmazonOAMClientCmdlet.cs index 45c47e9791..76bfc27325 100644 --- a/modules/AWSPowerShell/Cmdlets/OAM/AmazonOAMClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/OAM/AmazonOAMClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonOAM CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOAMConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/OSIS/AmazonOSISClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/OSIS/AmazonOSISClientCmdlet.cs index eb4cf6e470..4e894523d2 100644 --- a/modules/AWSPowerShell/Cmdlets/OSIS/AmazonOSISClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/OSIS/AmazonOSISClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonOSIS CreateClient(AWSCredentials credentials, RegionEndpoint re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOSISConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Omics/AmazonOmicsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Omics/AmazonOmicsClientCmdlet.cs index 931e645baf..1c7eabd86c 100644 --- a/modules/AWSPowerShell/Cmdlets/Omics/AmazonOmicsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Omics/AmazonOmicsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonOmics CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOmicsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSRunGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSRunGroup-Cmdlet.cs index 5a896ef01c..cb3f3dfbb2 100644 --- a/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSRunGroup-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSRunGroup-Cmdlet.cs @@ -28,7 +28,8 @@ namespace Amazon.PowerShell.Cmdlets.OMICS { /// - /// Creates a run group. + /// You can optionally create a run group to limit the compute resources for the runs + /// that you add to the group. /// [Cmdlet("New", "OMICSRunGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.Omics.Model.CreateRunGroupResponse")] @@ -44,7 +45,8 @@ public partial class NewOMICSRunGroupCmdlet : AmazonOmicsClientCmdlet, IExecutor #region Parameter MaxCpu /// /// - /// The maximum number of CPUs to use in the group. + /// The maximum number of CPUs that can run concurrently across all active runs in the + /// run group. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -55,7 +57,8 @@ public partial class NewOMICSRunGroupCmdlet : AmazonOmicsClientCmdlet, IExecutor #region Parameter MaxDuration /// /// - /// A maximum run time for the group in minutes. + /// The maximum time for each run (in minutes). If a run exceeds the maximum run time, + /// the run fails automatically. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -65,7 +68,8 @@ public partial class NewOMICSRunGroupCmdlet : AmazonOmicsClientCmdlet, IExecutor #region Parameter MaxGpus /// /// - /// The maximum GPUs that can be used by a run group. + /// The maximum number of GPUs that can run concurrently across all active runs in the + /// run group. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -75,7 +79,7 @@ public partial class NewOMICSRunGroupCmdlet : AmazonOmicsClientCmdlet, IExecutor #region Parameter MaxRun /// /// - /// The maximum number of concurrent runs for the group. + /// The maximum number of runs that can be running at the same time. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSShare-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSShare-Cmdlet.cs index 6050d1c22c..6c57eb33e1 100644 --- a/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSShare-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSShare-Cmdlet.cs @@ -36,9 +36,9 @@ namespace Amazon.PowerShell.Cmdlets.OMICS /// /// The following resources support cross-account sharing: ///
    • - /// Healthomics variant stores + /// HealthOmics variant stores ///
    • - /// Healthomics annotation stores + /// HealthOmics annotation stores ///
    • /// Private workflows ///
    diff --git a/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSWorkflow-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSWorkflow-Cmdlet.cs index 4d28474bbc..b36c67b1da 100644 --- a/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSWorkflow-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Omics/Basic/New-OMICSWorkflow-Cmdlet.cs @@ -139,7 +139,7 @@ public partial class NewOMICSWorkflowCmdlet : AmazonOmicsClientCmdlet, IExecutor #region Parameter StorageCapacity /// /// - /// The storage capacity for the workflow in gibibytes. + /// The default storage capacity for the workflow runs, in gibibytes. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/OpenSearchServerless/AmazonOpenSearchServerlessClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/OpenSearchServerless/AmazonOpenSearchServerlessClientCmdlet.cs index 94a1fea309..ec023c9cc9 100644 --- a/modules/AWSPowerShell/Cmdlets/OpenSearchServerless/AmazonOpenSearchServerlessClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/OpenSearchServerless/AmazonOpenSearchServerlessClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonOpenSearchServerless CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOpenSearchServerlessConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/OpenSearchService/AmazonOpenSearchServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/OpenSearchService/AmazonOpenSearchServiceClientCmdlet.cs index 9d496305cb..cf8cdb274a 100644 --- a/modules/AWSPowerShell/Cmdlets/OpenSearchService/AmazonOpenSearchServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/OpenSearchService/AmazonOpenSearchServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonOpenSearchService CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOpenSearchServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/OpsWorks/AmazonOpsWorksClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/OpsWorks/AmazonOpsWorksClientCmdlet.cs index a0d945f8ac..509724f62b 100644 --- a/modules/AWSPowerShell/Cmdlets/OpsWorks/AmazonOpsWorksClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/OpsWorks/AmazonOpsWorksClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonOpsWorks CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOpsWorksConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/OpsWorksCM/AmazonOpsWorksCMClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/OpsWorksCM/AmazonOpsWorksCMClientCmdlet.cs index e70f7fc853..1d00c0b979 100644 --- a/modules/AWSPowerShell/Cmdlets/OpsWorksCM/AmazonOpsWorksCMClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/OpsWorksCM/AmazonOpsWorksCMClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonOpsWorksCM CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOpsWorksCMConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/AWS.Tools.Organizations.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/Organizations/AWS.Tools.Organizations.Completers.psm1 index 6365405395..18a258cbb3 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/AWS.Tools.Organizations.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/Organizations/AWS.Tools.Organizations.Completers.psm1 @@ -100,7 +100,7 @@ $ORG_Completers = { # Amazon.Organizations.EffectivePolicyType "Get-ORGEffectivePolicy/PolicyType" { - $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","TAG_POLICY" + $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","CHATBOT_POLICY","TAG_POLICY" break } @@ -137,7 +137,7 @@ $ORG_Completers = { ($_ -eq "New-ORGPolicy/Type") } { - $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","SERVICE_CONTROL_POLICY","TAG_POLICY" + $v = "AISERVICES_OPT_OUT_POLICY","BACKUP_POLICY","CHATBOT_POLICY","SERVICE_CONTROL_POLICY","TAG_POLICY" break } diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/AmazonOrganizationsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/AmazonOrganizationsClientCmdlet.cs index f0e4b810e6..5e9a2399db 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/AmazonOrganizationsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/AmazonOrganizationsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonOrganizations CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOrganizationsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Add-ORGPolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Add-ORGPolicy-Cmdlet.cs index 62b171549e..cce0761bf2 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Add-ORGPolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Add-ORGPolicy-Cmdlet.cs @@ -32,7 +32,7 @@ namespace Amazon.PowerShell.Cmdlets.ORG /// How the policy affects accounts depends on the type of policy. Refer to the Organizations /// User Guide for information about each policy type: /// - /// + /// /// This operation can be called only from the organization's management account or by /// a member account that is a delegated administrator for an Amazon Web Services service. /// diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Close-ORGAccount-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Close-ORGAccount-Cmdlet.cs index 3a34aaba79..cf619ac342 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Close-ORGAccount-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Close-ORGAccount-Cmdlet.cs @@ -51,10 +51,10 @@ namespace Amazon.PowerShell.Cmdlets.ORG ///
    • /// You can close only 10% of member accounts, between 10 and 1000, within a rolling 30 /// day period. This quota is not bound by a calendar month, but starts when you close - /// an account. After you reach this limit, you can close additional accounts. For more + /// an account. After you reach this limit, you can't close additional accounts. For more /// information, see Closing /// a member account in your organization and Quotas - /// for Organizationsin the Organizations User Guide. + /// for Organizations in the Organizations User Guide. ///
    • /// To reinstate a closed account, contact Amazon Web Services Support within the 90-day /// grace period while the account is in SUSPENDED status. diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Disable-ORGPolicyType-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Disable-ORGPolicyType-Cmdlet.cs index 8b1a185272..afa52a49b2 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Disable-ORGPolicyType-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Disable-ORGPolicyType-Cmdlet.cs @@ -65,7 +65,7 @@ public partial class DisableORGPolicyTypeCmdlet : AmazonOrganizationsClientCmdle /// /// /// The policy type that you want to disable in this root. You can specify one of the - /// following values: + /// following values: /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGAWSServiceAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGAWSServiceAccess-Cmdlet.cs index 0e76d4233e..9c922e07e6 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGAWSServiceAccess-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGAWSServiceAccess-Cmdlet.cs @@ -28,11 +28,12 @@ namespace Amazon.PowerShell.Cmdlets.ORG { /// - /// Enables the integration of an Amazon Web Services service (the service that is specified - /// by ServicePrincipal) with Organizations. When you enable integration, you allow - /// the specified service to create a service-linked - /// role in all the accounts in your organization. This allows the service to perform - /// operations on your behalf in your organization and its accounts. + /// Provides an Amazon Web Services service (the service that is specified by ServicePrincipal) + /// with permissions to view the structure of an organization, create a service-linked + /// role in all the accounts in the organization, and allow the service to perform + /// operations on behalf of the organization and its accounts. Establishing these permissions + /// can be a first step in enabling the integration of an Amazon Web Services service + /// with Organizations. /// /// /// We recommend that you enable integration between Organizations and the specified Amazon diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGPolicyType-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGPolicyType-Cmdlet.cs index 93c978767e..f07d0a9513 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGPolicyType-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Enable-ORGPolicyType-Cmdlet.cs @@ -61,7 +61,7 @@ public partial class EnableORGPolicyTypeCmdlet : AmazonOrganizationsClientCmdlet #region Parameter PolicyType /// /// - /// The policy type that you want to enable. You can specify one of the following values: + /// The policy type that you want to enable. You can specify one of the following values: /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGEffectivePolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGEffectivePolicy-Cmdlet.cs index 4fdb5ef15e..5515892584 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGEffectivePolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGEffectivePolicy-Cmdlet.cs @@ -60,7 +60,7 @@ public partial class GetORGEffectivePolicyCmdlet : AmazonOrganizationsClientCmdl /// /// /// The type of policy that you want information about. You can specify one of the following - /// values: + /// values: /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyForTarget-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyForTarget-Cmdlet.cs index 622eb9852f..fc145f1079 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyForTarget-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyForTarget-Cmdlet.cs @@ -58,7 +58,7 @@ public partial class GetORGPolicyForTargetCmdlet : AmazonOrganizationsClientCmdl /// /// /// The type of policy that you want to include in the returned list. You must specify - /// one of the following values: + /// one of the following values: /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyList-Cmdlet.cs index 16f3a2bfa7..75e5ab964d 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Get-ORGPolicyList-Cmdlet.cs @@ -56,7 +56,7 @@ public partial class GetORGPolicyListCmdlet : AmazonOrganizationsClientCmdlet, I /// /// /// Specifies the type of policy that you want to include in the response. You must specify - /// one of the following values: + /// one of the following values: /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGAccount-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGAccount-Cmdlet.cs index 013b864d11..cef4903ae2 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGAccount-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGAccount-Cmdlet.cs @@ -78,10 +78,10 @@ namespace Amazon.PowerShell.Cmdlets.ORG /// is still initializing, wait one hour and then try again. If the error persists, contact /// Amazon Web Services Support. ///
    • - /// Using CreateAccount to create multiple temporary accounts isn't recommended. - /// You can only close an account from the Billing and Cost Management console, and you - /// must be signed in as the root user. For information on the requirements and process - /// for closing an account, see Closing + /// It isn't recommended to use CreateAccount to create multiple temporary accounts, + /// and using the CreateAccount API to close accounts is subject to a 30-day usage + /// quota. For information on the requirements and process for closing an account, see + /// Closing /// a member account in your organization in the Organizations User Guide. ///
    /// When you create a member account with this operation, you can choose whether to create diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGPolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGPolicy-Cmdlet.cs index 6f69c37e2d..08b21c29d1 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGPolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/New-ORGPolicy-Cmdlet.cs @@ -129,7 +129,7 @@ public partial class NewORGPolicyCmdlet : AmazonOrganizationsClientCmdlet, IExec #region Parameter Type /// /// - /// The type of policy to create. You can specify one of the following values: + /// The type of policy to create. You can specify one of the following values: /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Remove-ORGOrganizationAssociation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Remove-ORGOrganizationAssociation-Cmdlet.cs index bf5c18206f..abd785ff9b 100644 --- a/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Remove-ORGOrganizationAssociation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Organizations/Basic/Remove-ORGOrganizationAssociation-Cmdlet.cs @@ -75,8 +75,8 @@ namespace Amazon.PowerShell.Cmdlets.ORG /// organization do not support tags. ///
  • /// A newly created account has a waiting period before it can be removed from its organization. - /// If you get an error that indicates that a wait period is required, then try again - /// in a few days. + /// You must wait until at least seven days after the account was created. Invited accounts + /// aren't subject to this waiting period. ///
  • /// If you are using an organization principal to call LeaveOrganization across /// multiple accounts, you can only do this up to 5 accounts per second in a single organization. diff --git a/modules/AWSPowerShell/Cmdlets/Outposts/AmazonOutpostsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Outposts/AmazonOutpostsClientCmdlet.cs index e7fe18f315..21bce2e6b2 100644 --- a/modules/AWSPowerShell/Cmdlets/Outposts/AmazonOutpostsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Outposts/AmazonOutpostsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonOutposts CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonOutpostsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.Aliases.psm1 b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.Aliases.psm1 similarity index 67% rename from modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.Aliases.psm1 rename to modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.Aliases.psm1 index b5fcf8de70..f8a623416d 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.Aliases.psm1 +++ b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.Aliases.psm1 @@ -1,3 +1,3 @@ -# WorkLink +# PCS Export-ModuleMember -Alias * \ No newline at end of file diff --git a/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.Completers.psm1 new file mode 100644 index 0000000000..4134092b96 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.Completers.psm1 @@ -0,0 +1,203 @@ +# Auto-generated argument completers for parameters of SDK ConstantClass-derived type used in cmdlets. +# Do not modify this file; it may be overwritten during version upgrades. + +$psMajorVersion = $PSVersionTable.PSVersion.Major +if ($psMajorVersion -eq 2) +{ + Write-Verbose "Dynamic argument completion not supported in PowerShell version 2; skipping load." + return +} + +# PowerShell's native Register-ArgumentCompleter cmdlet is available on v5.0 or higher. For lower +# version, we can use the version in the TabExpansion++ module if installed. +$registrationCmdletAvailable = ($psMajorVersion -ge 5) -Or !((Get-Command Register-ArgumentCompleter -ea Ignore) -eq $null) + +# internal function to perform the registration using either cmdlet or manipulation +# of the options table +function _awsArgumentCompleterRegistration() +{ + param + ( + [scriptblock]$scriptBlock, + [hashtable]$param2CmdletsMap + ) + + if ($registrationCmdletAvailable) + { + foreach ($paramName in $param2CmdletsMap.Keys) + { + $args = @{ + "ScriptBlock" = $scriptBlock + "Parameter" = $paramName + } + + $cmdletNames = $param2CmdletsMap[$paramName] + if ($cmdletNames -And $cmdletNames.Length -gt 0) + { + $args["Command"] = $cmdletNames + } + + Register-ArgumentCompleter @args + } + } + else + { + if (-not $global:options) { $global:options = @{ CustomArgumentCompleters = @{ }; NativeArgumentCompleters = @{ } } } + + foreach ($paramName in $param2CmdletsMap.Keys) + { + $cmdletNames = $param2CmdletsMap[$paramName] + + if ($cmdletNames -And $cmdletNames.Length -gt 0) + { + foreach ($cn in $cmdletNames) + { + $fqn = [string]::Concat($cn, ":", $paramName) + $global:options['CustomArgumentCompleters'][$fqn] = $scriptBlock + } + } + else + { + $global:options['CustomArgumentCompleters'][$paramName] = $scriptBlock + } + } + + $function:tabexpansion2 = $function:tabexpansion2 -replace 'End\r\n{', 'End { if ($null -ne $options) { $options += $global:options} else {$options = $global:options}' + } +} + +# To allow for same-name parameters of different ConstantClass-derived types +# each completer function checks on command name concatenated with parameter name. +# Additionally, the standard code pattern for completers is to pipe through +# sort-object after filtering against $wordToComplete but we omit this as our members +# are already sorted. + +# Argument completions for service AWS Parallel Computing Service + + +$PCS_Completers = { + param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) + + switch ($("$commandName/$parameterName")) + { + # Amazon.PCS.PurchaseOption + { + ($_ -eq "New-PCSComputeNodeGroup/PurchaseOption") -Or + ($_ -eq "Update-PCSComputeNodeGroup/PurchaseOption") + } + { + $v = "ONDEMAND","SPOT" + break + } + + # Amazon.PCS.SchedulerType + "New-PCSCluster/Scheduler_Type" + { + $v = "SLURM" + break + } + + # Amazon.PCS.Size + "New-PCSCluster/Size" + { + $v = "LARGE","MEDIUM","SMALL" + break + } + + # Amazon.PCS.SpotAllocationStrategy + { + ($_ -eq "New-PCSComputeNodeGroup/SpotOptions_AllocationStrategy") -Or + ($_ -eq "Update-PCSComputeNodeGroup/SpotOptions_AllocationStrategy") + } + { + $v = "capacity-optimized","lowest-price","price-capacity-optimized" + break + } + + + } + + $v | + Where-Object { $_ -like "$wordToComplete*" } | + ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } +} + +$PCS_map = @{ + "PurchaseOption"=@("New-PCSComputeNodeGroup","Update-PCSComputeNodeGroup") + "Scheduler_Type"=@("New-PCSCluster") + "Size"=@("New-PCSCluster") + "SpotOptions_AllocationStrategy"=@("New-PCSComputeNodeGroup","Update-PCSComputeNodeGroup") +} + +_awsArgumentCompleterRegistration $PCS_Completers $PCS_map + +$PCS_SelectCompleters = { + param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) + + $cmdletType = Invoke-Expression "[Amazon.PowerShell.Cmdlets.PCS.$($commandName.Replace('-', ''))Cmdlet]" + if (-not $cmdletType) { + return + } + $awsCmdletAttribute = $cmdletType.GetCustomAttributes([Amazon.PowerShell.Common.AWSCmdletAttribute], $false) + if (-not $awsCmdletAttribute) { + return + } + $type = $awsCmdletAttribute.SelectReturnType + if (-not $type) { + return + } + + $splitSelect = $wordToComplete -Split '\.' + $splitSelect | Select-Object -First ($splitSelect.Length - 1) | ForEach-Object { + $propertyName = $_ + $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')) | Where-Object { $_.Name -ieq $propertyName } + if ($properties.Length -ne 1) { + break + } + $type = $properties.PropertyType + $prefix += "$($properties.Name)." + + $asEnumerableType = $type.GetInterface('System.Collections.Generic.IEnumerable`1') + if ($asEnumerableType -and $type -ne [System.String]) { + $type = $asEnumerableType.GetGenericArguments()[0] + } + } + + $v = @( '*' ) + $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')).Name | Sort-Object + if ($properties) { + $v += ($properties | ForEach-Object { $prefix + $_ }) + } + $parameters = $cmdletType.GetProperties(('Instance', 'Public')) | Where-Object { $_.GetCustomAttributes([System.Management.Automation.ParameterAttribute], $true) } | Select-Object -ExpandProperty Name | Sort-Object + if ($parameters) { + $v += ($parameters | ForEach-Object { "^$_" }) + } + + $v | + Where-Object { $_ -match "^$([System.Text.RegularExpressions.Regex]::Escape($wordToComplete)).*" } | + ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } +} + +$PCS_SelectMap = @{ + "Select"=@("New-PCSCluster", + "New-PCSComputeNodeGroup", + "New-PCSQueue", + "Remove-PCSCluster", + "Remove-PCSComputeNodeGroup", + "Remove-PCSQueue", + "Get-PCSCluster", + "Get-PCSComputeNodeGroup", + "Get-PCSQueue", + "Get-PCSClusterList", + "Get-PCSComputeNodeGroupList", + "Get-PCSQueueList", + "Get-PCSResourceTag", + "Register-PCSComputeNodeGroupInstance", + "Add-PCSResourceTag", + "Remove-PCSResourceTag", + "Update-PCSComputeNodeGroup", + "Update-PCSQueue") +} + +_awsArgumentCompleterRegistration $PCS_SelectCompleters $PCS_SelectMap + diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.csproj b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.csproj similarity index 91% rename from modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.csproj rename to modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.csproj index 35f1e71da1..2205dcd5e7 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/AWS.Tools.WorkLink.csproj +++ b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.csproj @@ -2,7 +2,7 @@ netstandard2.0 - Amazon.PowerShell.Cmdlets.WorkLink + Amazon.PowerShell.Cmdlets.PCS Properties AnyCPU ../../solutions/ @@ -16,8 +16,8 @@ NU1605,CS0108 - AWS.Tools.WorkLink - $(OutputPath)/AWS.Tools.WorkLink.XML + AWS.Tools.PCS + $(OutputPath)/AWS.Tools.PCS.XML $(DefineConstants);NETSTANDARD;NETSTANDARD2_0;CORECLR;MODULAR 0.0.0.0 0.0.0.0 @@ -46,8 +46,8 @@ ../../../../Include/sdk/assemblies/netstandard2.0/AWSSDK.Core.dll - - ../../../../Include/sdk/assemblies/netstandard2.0/AWSSDK.WorkLink.dll + + ../../../../Include/sdk/assemblies/netstandard2.0/AWSSDK.PCS.dll diff --git a/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.psd1 b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.psd1 new file mode 100644 index 0000000000..2223db7b7c --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/AWS.Tools.PCS.psd1 @@ -0,0 +1,133 @@ +# +# Module manifest for module 'AWS.Tools.PCS' +# + +@{ + # Script module or binary module file associated with this manifest + RootModule = 'AWS.Tools.PCS.dll' + + # Supported PSEditions + CompatiblePSEditions = @('Core', 'Desktop') + + # Version number of this module. + ModuleVersion = '0.0.0.0' + + # ID used to uniquely identify this module + GUID = '92c95590-099f-452e-abfe-d88d89a395c6' + + # Author of this module + Author = 'Amazon.com, Inc' + + # Company or vendor of this module + CompanyName = 'Amazon.com, Inc' + + # Copyright statement for this module + Copyright = 'Copyright 2012-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.' + + # Description of the functionality provided by this module + Description = 'The PCS module of AWS Tools for PowerShell lets developers and administrators manage AWS Parallel Computing Service from the PowerShell scripting environment. In order to manage each AWS service, install the corresponding module (e.g. AWS.Tools.EC2, AWS.Tools.S3...). +The module AWS.Tools.Installer (https://www.powershellgallery.com/packages/AWS.Tools.Installer/) makes it easier to install, update and uninstall the AWS.Tools modules. +This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5.1+ and PowerShell Core 6+ on Windows, Linux and macOS. When running on Windows PowerShell, .NET Framework 4.7.2 or newer is required. Alternative modules AWSPowerShell.NetCore and AWSPowerShell, provide support for all AWS services from a single module and also support older versions of Windows PowerShell and .NET Framework.' + + # Minimum version of the PowerShell engine required by this module + PowerShellVersion = '5.1' + + # Name of the PowerShell host required by this module + PowerShellHostName = '' + + # Minimum version of the PowerShell host required by this module + PowerShellHostVersion = '' + + # Minimum version of the .NET Framework required by this module + DotNetFrameworkVersion = '4.7.2' + + # Minimum version of the common language runtime (CLR) required by this module + CLRVersion = '' + + # Processor architecture (None, X86, Amd64, IA64) required by this module + ProcessorArchitecture = '' + + # Modules that must be imported into the global environment prior to importing this module + RequiredModules = @( + @{ + ModuleName = 'AWS.Tools.Common'; + RequiredVersion = '0.0.0.0'; + Guid = 'e5b05bf3-9eee-47b2-81f2-41ddc0501b86' } + ) + + # Assemblies that must be loaded prior to importing this module. + RequiredAssemblies = @( + 'AWSSDK.PCS.dll' + ) + + # Script files (.ps1) that are run in the caller's environment prior to importing this module + ScriptsToProcess = @( + + ) + + # Type files (.ps1xml) to be loaded when importing this module + TypesToProcess = @( + + ) + + # Format files (.ps1xml) to be loaded when importing this module + FormatsToProcess = @( + 'AWS.Tools.PCS.Format.ps1xml' + ) + + # Modules to import as nested modules of the module specified in ModuleToProcess + NestedModules = @( + 'AWS.Tools.PCS.Completers.psm1', + 'AWS.Tools.PCS.Aliases.psm1' + ) + + # Functions to export from this module + FunctionsToExport = '' + + # Cmdlets to export from this module + CmdletsToExport = @( + 'Add-PCSResourceTag', + 'Get-PCSCluster', + 'Get-PCSClusterList', + 'Get-PCSComputeNodeGroup', + 'Get-PCSComputeNodeGroupList', + 'Get-PCSQueue', + 'Get-PCSQueueList', + 'Get-PCSResourceTag', + 'New-PCSCluster', + 'New-PCSComputeNodeGroup', + 'New-PCSQueue', + 'Register-PCSComputeNodeGroupInstance', + 'Remove-PCSCluster', + 'Remove-PCSComputeNodeGroup', + 'Remove-PCSQueue', + 'Remove-PCSResourceTag', + 'Update-PCSComputeNodeGroup', + 'Update-PCSQueue') + + # Variables to export from this module + VariablesToExport = '*' + + # Aliases to export from this module + AliasesToExport = @() + + # List of all modules packaged with this module + ModuleList = @() + + # List of all files packaged with this module + FileList = @( + 'AWS.Tools.PCS.dll-Help.xml' + ) + + # Private data to pass to the module specified in ModuleToProcess + PrivateData = @{ + + PSData = @{ + Tags = @('AWS', 'cloud', 'Windows', 'PSEdition_Desktop', 'PSEdition_Core', 'Linux', 'MacOS', 'Mac') + LicenseUri = 'https://aws.amazon.com/apache-2-0/' + ProjectUri = 'https://github.com/aws/aws-tools-for-powershell' + IconUri = 'https://sdk-for-net.amazonwebservices.com/images/AWSLogo128x128.png' + ReleaseNotes = 'https://github.com/aws/aws-tools-for-powershell/blob/master/CHANGELOG.md' + } + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/AmazonWorkLinkClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/AmazonPCSClientCmdlet.cs similarity index 68% rename from modules/AWSPowerShell/Cmdlets/WorkLink/AmazonWorkLinkClientCmdlet.cs rename to modules/AWSPowerShell/Cmdlets/PCS/AmazonPCSClientCmdlet.cs index cf52878850..b35a2ebb89 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/AmazonWorkLinkClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PCS/AmazonPCSClientCmdlet.cs @@ -22,22 +22,22 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.PCS; +using Amazon.PCS.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.PCS { - [AWSClientCmdlet("Amazon WorkLink", "WL", "2018-09-25", "WorkLink")] - public abstract partial class AmazonWorkLinkClientCmdlet : ServiceCmdlet + [AWSClientCmdlet("AWS Parallel Computing Service", "PCS", "2023-02-10", "PCS")] + public abstract partial class AmazonPCSClientCmdlet : ServiceCmdlet { - protected IAmazonWorkLink Client { get; private set; } + protected IAmazonPCS Client { get; private set; } [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public AmazonWorkLinkConfig ClientConfig + public AmazonPCSConfig ClientConfig { get { - return base._ClientConfig as AmazonWorkLinkConfig; + return base._ClientConfig as AmazonPCSConfig; } set { @@ -45,18 +45,25 @@ public AmazonWorkLinkConfig ClientConfig } } - protected IAmazonWorkLink CreateClient(AWSCredentials credentials, RegionEndpoint region) + protected IAmazonPCS CreateClient(AWSCredentials credentials, RegionEndpoint region) { - var config = this.ClientConfig ?? new AmazonWorkLinkConfig(); + var config = this.ClientConfig ?? new AmazonPCSConfig(); if (region != null) config.RegionEndpoint = region; Amazon.PowerShell.Utils.Common.PopulateConfig(this, config); this.CustomizeClientConfig(config); - var client = new AmazonWorkLinkClient(credentials, config); + var client = new AmazonPCSClient(credentials, config); client.BeforeRequestEvent += RequestEventHandler; client.AfterResponseEvent += ResponseEventHandler; return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPCSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Add-WLResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Add-PCSResourceTag-Cmdlet.cs similarity index 83% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Add-WLResourceTag-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/PCS/Basic/Add-PCSResourceTag-Cmdlet.cs index f5a385ce3a..4d7b9f12e3 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Add-WLResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Add-PCSResourceTag-Cmdlet.cs @@ -22,25 +22,25 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.PCS; +using Amazon.PCS.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.PCS { /// - /// Adds or overwrites one or more tags for the specified resource, such as a fleet. Each - /// tag consists of a key and an optional value. If a resource already has a tag with - /// the same key, this operation updates its value.

    This operation is deprecated. + /// Adds or edits tags on an Amazon Web Services PCS resource. Each tag consists of a + /// tag key and a tag value. The tag key and tag value are case-sensitive strings. The + /// tag value can be an empty (null) string. To add a tag, specify a new tag key and a + /// tag value. To edit a tag, specify an existing tag key and a new tag value. ///
    - [Cmdlet("Add", "WLResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [Cmdlet("Add", "PCSResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink TagResource API operation.", Operation = new[] {"TagResource"}, SelectReturnType = typeof(Amazon.WorkLink.Model.TagResourceResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.TagResourceResponse", + [AWSCmdlet("Calls the AWS Parallel Computing Service TagResource API operation.", Operation = new[] {"TagResource"}, SelectReturnType = typeof(Amazon.PCS.Model.TagResourceResponse))] + [AWSCmdletOutput("None or Amazon.PCS.Model.TagResourceResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.TagResourceResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.PCS.Model.TagResourceResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class AddWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class AddPCSResourceTagCmdlet : AmazonPCSClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; @@ -48,7 +48,7 @@ public partial class AddWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecu #region Parameter ResourceArn /// /// - /// The Amazon Resource Name (ARN) of the fleet. + /// The Amazon Resource Name (ARN) of the resource. /// /// #if !MODULAR @@ -65,7 +65,8 @@ public partial class AddWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecu #region Parameter Tag /// /// - /// The tags to add to the resource. A tag is a key-value pair. + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. + /// The tag value is optional and can be an empty string. /// /// #if !MODULAR @@ -83,7 +84,7 @@ public partial class AddWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecu #region Parameter Select /// /// 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.WorkLink.Model.TagResourceResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.TagResourceResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -116,7 +117,7 @@ protected override void ProcessRecord() base.ProcessRecord(); var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ResourceArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Add-WLResourceTag (TagResource)")) + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Add-PCSResourceTag (TagResource)")) { return; } @@ -129,7 +130,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -176,7 +177,7 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.TagResourceRequest(); + var request = new Amazon.PCS.Model.TagResourceRequest(); if (cmdletContext.ResourceArn != null) { @@ -219,9 +220,9 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.TagResourceResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.TagResourceRequest request) + private Amazon.PCS.Model.TagResourceResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.TagResourceRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "TagResource"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "TagResource"); try { #if DESKTOP @@ -249,7 +250,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String ResourceArn { get; set; } public Dictionary Tag { get; set; } - public System.Func Select { get; set; } = + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSCluster-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSCluster-Cmdlet.cs new file mode 100644 index 0000000000..b34f5836fa --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSCluster-Cmdlet.cs @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Returns detailed information about a running cluster in your account. This API action + /// provides networking information, endpoint information for communication with the scheduler, + /// and provisioning status. + /// + [Cmdlet("Get", "PCSCluster")] + [OutputType("Amazon.PCS.Model.Cluster")] + [AWSCmdlet("Calls the AWS Parallel Computing Service GetCluster API operation.", Operation = new[] {"GetCluster"}, SelectReturnType = typeof(Amazon.PCS.Model.GetClusterResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.Cluster or Amazon.PCS.Model.GetClusterResponse", + "This cmdlet returns an Amazon.PCS.Model.Cluster object.", + "The service call response (type Amazon.PCS.Model.GetClusterResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetPCSClusterCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster of the queue. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Cluster'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.GetClusterResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.GetClusterResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Cluster"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.GetClusterRequest(); + + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.GetClusterResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.GetClusterRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "GetCluster"); + try + { + #if DESKTOP + return client.GetCluster(request); + #elif CORECLR + return client.GetClusterAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Cluster; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSClusterList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSClusterList-Cmdlet.cs new file mode 100644 index 0000000000..695d4cfb07 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSClusterList-Cmdlet.cs @@ -0,0 +1,192 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Returns a list of running clusters in your account. + /// + [Cmdlet("Get", "PCSClusterList")] + [OutputType("Amazon.PCS.Model.ClusterSummary")] + [AWSCmdlet("Calls the AWS Parallel Computing Service ListClusters API operation.", Operation = new[] {"ListClusters"}, SelectReturnType = typeof(Amazon.PCS.Model.ListClustersResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.ClusterSummary or Amazon.PCS.Model.ListClustersResponse", + "This cmdlet returns a collection of Amazon.PCS.Model.ClusterSummary objects.", + "The service call response (type Amazon.PCS.Model.ListClustersResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetPCSClusterListCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter MaxResult + /// + /// + /// The maximum number of results that are returned per call. You can use nextToken + /// to obtain further pages of results. The default is 10 results, and the maximum allowed + /// page size is 100 results. A value of 0 uses the default. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The value of nextToken is a unique pagination token for each page of results + /// returned. If nextToken is returned, there are more results available. Make + /// the call again using the returned token to retrieve the next page. Keep all other + /// arguments unchanged. Each pagination token expires after 24 hours. Using an expired + /// pagination token returns an HTTP 400 InvalidToken error. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Clusters'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.ListClustersResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.ListClustersResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Clusters"; + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.ListClustersRequest(); + + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.ListClustersResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.ListClustersRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "ListClusters"); + try + { + #if DESKTOP + return client.ListClusters(request); + #elif CORECLR + return client.ListClustersAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Clusters; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSComputeNodeGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSComputeNodeGroup-Cmdlet.cs new file mode 100644 index 0000000000..501ce23085 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSComputeNodeGroup-Cmdlet.cs @@ -0,0 +1,233 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Returns detailed information about a compute node group. This API action provides + /// networking information, EC2 instance type, compute node group status, and scheduler + /// (such as Slurm) configuration. + /// + [Cmdlet("Get", "PCSComputeNodeGroup")] + [OutputType("Amazon.PCS.Model.ComputeNodeGroup")] + [AWSCmdlet("Calls the AWS Parallel Computing Service GetComputeNodeGroup API operation.", Operation = new[] {"GetComputeNodeGroup"}, SelectReturnType = typeof(Amazon.PCS.Model.GetComputeNodeGroupResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.ComputeNodeGroup or Amazon.PCS.Model.GetComputeNodeGroupResponse", + "This cmdlet returns an Amazon.PCS.Model.ComputeNodeGroup object.", + "The service call response (type Amazon.PCS.Model.GetComputeNodeGroupResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetPCSComputeNodeGroupCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter ComputeNodeGroupIdentifier + /// + /// + /// The name or ID of the compute node group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ComputeNodeGroupIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'ComputeNodeGroup'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.GetComputeNodeGroupResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.GetComputeNodeGroupResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "ComputeNodeGroup"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ComputeNodeGroupIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ComputeNodeGroupIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ComputeNodeGroupIdentifier = this.ComputeNodeGroupIdentifier; + #if MODULAR + if (this.ComputeNodeGroupIdentifier == null && ParameterWasBound(nameof(this.ComputeNodeGroupIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ComputeNodeGroupIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.GetComputeNodeGroupRequest(); + + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.ComputeNodeGroupIdentifier != null) + { + request.ComputeNodeGroupIdentifier = cmdletContext.ComputeNodeGroupIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.GetComputeNodeGroupResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.GetComputeNodeGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "GetComputeNodeGroup"); + try + { + #if DESKTOP + return client.GetComputeNodeGroup(request); + #elif CORECLR + return client.GetComputeNodeGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterIdentifier { get; set; } + public System.String ComputeNodeGroupIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ComputeNodeGroup; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSComputeNodeGroupList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSComputeNodeGroupList-Cmdlet.cs new file mode 100644 index 0000000000..858f8fb767 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSComputeNodeGroupList-Cmdlet.cs @@ -0,0 +1,241 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Returns a list of all compute node groups associated with a cluster. + /// + [Cmdlet("Get", "PCSComputeNodeGroupList")] + [OutputType("Amazon.PCS.Model.ComputeNodeGroupSummary")] + [AWSCmdlet("Calls the AWS Parallel Computing Service ListComputeNodeGroups API operation.", Operation = new[] {"ListComputeNodeGroups"}, SelectReturnType = typeof(Amazon.PCS.Model.ListComputeNodeGroupsResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.ComputeNodeGroupSummary or Amazon.PCS.Model.ListComputeNodeGroupsResponse", + "This cmdlet returns a collection of Amazon.PCS.Model.ComputeNodeGroupSummary objects.", + "The service call response (type Amazon.PCS.Model.ListComputeNodeGroupsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetPCSComputeNodeGroupListCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster to list compute node groups for. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results that are returned per call. You can use nextToken + /// to obtain further pages of results. The default is 10 results, and the maximum allowed + /// page size is 100 results. A value of 0 uses the default. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The value of nextToken is a unique pagination token for each page of results + /// returned. If nextToken is returned, there are more results available. Make + /// the call again using the returned token to retrieve the next page. Keep all other + /// arguments unchanged. Each pagination token expires after 24 hours. Using an expired + /// pagination token returns an HTTP 400 InvalidToken error. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'ComputeNodeGroups'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.ListComputeNodeGroupsResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.ListComputeNodeGroupsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "ComputeNodeGroups"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.ListComputeNodeGroupsRequest(); + + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.ListComputeNodeGroupsResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.ListComputeNodeGroupsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "ListComputeNodeGroups"); + try + { + #if DESKTOP + return client.ListComputeNodeGroups(request); + #elif CORECLR + return client.ListComputeNodeGroupsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ComputeNodeGroups; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSQueue-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSQueue-Cmdlet.cs new file mode 100644 index 0000000000..091414725b --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSQueue-Cmdlet.cs @@ -0,0 +1,232 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Returns detailed information about a queue. The information includes the compute node + /// groups that the queue uses to schedule jobs. + /// + [Cmdlet("Get", "PCSQueue")] + [OutputType("Amazon.PCS.Model.Queue")] + [AWSCmdlet("Calls the AWS Parallel Computing Service GetQueue API operation.", Operation = new[] {"GetQueue"}, SelectReturnType = typeof(Amazon.PCS.Model.GetQueueResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.Queue or Amazon.PCS.Model.GetQueueResponse", + "This cmdlet returns an Amazon.PCS.Model.Queue object.", + "The service call response (type Amazon.PCS.Model.GetQueueResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetPCSQueueCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster of the queue. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter QueueIdentifier + /// + /// + /// The name or ID of the queue. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String QueueIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Queue'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.GetQueueResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.GetQueueResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Queue"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the QueueIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^QueueIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^QueueIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.QueueIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.QueueIdentifier = this.QueueIdentifier; + #if MODULAR + if (this.QueueIdentifier == null && ParameterWasBound(nameof(this.QueueIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter QueueIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.GetQueueRequest(); + + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.QueueIdentifier != null) + { + request.QueueIdentifier = cmdletContext.QueueIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.GetQueueResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.GetQueueRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "GetQueue"); + try + { + #if DESKTOP + return client.GetQueue(request); + #elif CORECLR + return client.GetQueueAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterIdentifier { get; set; } + public System.String QueueIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Queue; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSQueueList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSQueueList-Cmdlet.cs new file mode 100644 index 0000000000..9566dbb58d --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSQueueList-Cmdlet.cs @@ -0,0 +1,241 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Returns a list of all queues associated with a cluster. + /// + [Cmdlet("Get", "PCSQueueList")] + [OutputType("Amazon.PCS.Model.QueueSummary")] + [AWSCmdlet("Calls the AWS Parallel Computing Service ListQueues API operation.", Operation = new[] {"ListQueues"}, SelectReturnType = typeof(Amazon.PCS.Model.ListQueuesResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.QueueSummary or Amazon.PCS.Model.ListQueuesResponse", + "This cmdlet returns a collection of Amazon.PCS.Model.QueueSummary objects.", + "The service call response (type Amazon.PCS.Model.ListQueuesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetPCSQueueListCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster to list queues for. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results that are returned per call. You can use nextToken + /// to obtain further pages of results. The default is 10 results, and the maximum allowed + /// page size is 100 results. A value of 0 uses the default. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The value of nextToken is a unique pagination token for each page of results + /// returned. If nextToken is returned, there are more results available. Make + /// the call again using the returned token to retrieve the next page. Keep all other + /// arguments unchanged. Each pagination token expires after 24 hours. Using an expired + /// pagination token returns an HTTP 400 InvalidToken error. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Queues'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.ListQueuesResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.ListQueuesResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Queues"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.ListQueuesRequest(); + + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.ListQueuesResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.ListQueuesRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "ListQueues"); + try + { + #if DESKTOP + return client.ListQueues(request); + #elif CORECLR + return client.ListQueuesAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClusterIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Queues; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSResourceTag-Cmdlet.cs similarity index 80% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLResourceTag-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSResourceTag-Cmdlet.cs index d6ba0b7cf7..1f8a68371f 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Get-PCSResourceTag-Cmdlet.cs @@ -22,23 +22,22 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.PCS; +using Amazon.PCS.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.PCS { /// - /// Retrieves a list of tags for the specified resource.

    This operation is deprecated. + /// Returns a list of all tags on an Amazon Web Services PCS resource. ///
    - [Cmdlet("Get", "WLResourceTag")] + [Cmdlet("Get", "PCSResourceTag")] [OutputType("System.String")] - [AWSCmdlet("Calls the Amazon WorkLink ListTagsForResource API operation.", Operation = new[] {"ListTagsForResource"}, SelectReturnType = typeof(Amazon.WorkLink.Model.ListTagsForResourceResponse))] - [AWSCmdletOutput("System.String or Amazon.WorkLink.Model.ListTagsForResourceResponse", + [AWSCmdlet("Calls the AWS Parallel Computing Service ListTagsForResource API operation.", Operation = new[] {"ListTagsForResource"}, SelectReturnType = typeof(Amazon.PCS.Model.ListTagsForResourceResponse))] + [AWSCmdletOutput("System.String or Amazon.PCS.Model.ListTagsForResourceResponse", "This cmdlet returns a collection of System.String objects.", - "The service call response (type Amazon.WorkLink.Model.ListTagsForResourceResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service call response (type Amazon.PCS.Model.ListTagsForResourceResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetPCSResourceTagCmdlet : AmazonPCSClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; @@ -46,7 +45,7 @@ public partial class GetWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecu #region Parameter ResourceArn /// /// - /// The Amazon Resource Name (ARN) of the fleet. + /// The Amazon Resource Name (ARN) of the resource for which to list tags. /// /// #if !MODULAR @@ -63,8 +62,8 @@ public partial class GetWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecu #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'Tags'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.ListTagsForResourceResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.ListTagsForResourceResponse will result in that property being returned. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.ListTagsForResourceResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.ListTagsForResourceResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -94,7 +93,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -127,7 +126,7 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.ListTagsForResourceRequest(); + var request = new Amazon.PCS.Model.ListTagsForResourceRequest(); if (cmdletContext.ResourceArn != null) { @@ -166,9 +165,9 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.ListTagsForResourceResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.ListTagsForResourceRequest request) + private Amazon.PCS.Model.ListTagsForResourceResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.ListTagsForResourceRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "ListTagsForResource"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "ListTagsForResource"); try { #if DESKTOP @@ -195,7 +194,7 @@ private Amazon.WorkLink.Model.ListTagsForResourceResponse CallAWSServiceOperatio internal partial class CmdletContext : ExecutorContext { public System.String ResourceArn { get; set; } - public System.Func Select { get; set; } = + public System.Func Select { get; set; } = (response, cmdlet) => response.Tags; } diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSCluster-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSCluster-Cmdlet.cs new file mode 100644 index 0000000000..ca234fe743 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSCluster-Cmdlet.cs @@ -0,0 +1,507 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Creates a cluster in your account. Amazon Web Services PCS creates the cluster controller + /// in a service-owned account. The cluster controller communicates with the cluster resources + /// in your account. The subnets and security groups for the cluster must already exist + /// before you use this API action. + /// + /// + /// It takes time for Amazon Web Services PCS to create the cluster. The cluster is in + /// a Creating state until it is ready to use. There can only be 1 cluster in a + /// Creating state per Amazon Web Services Region per Amazon Web Services account. + /// CreateCluster fails with a ServiceQuotaExceededException if there is + /// already a cluster in a Creating state. + /// + /// + [Cmdlet("New", "PCSCluster", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PCS.Model.Cluster")] + [AWSCmdlet("Calls the AWS Parallel Computing Service CreateCluster API operation.", Operation = new[] {"CreateCluster"}, SelectReturnType = typeof(Amazon.PCS.Model.CreateClusterResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.Cluster or Amazon.PCS.Model.CreateClusterResponse", + "This cmdlet returns an Amazon.PCS.Model.Cluster object.", + "The service call response (type Amazon.PCS.Model.CreateClusterResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewPCSClusterCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterName + /// + /// + /// A name to identify the cluster. Example: MyCluster + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterName { get; set; } + #endregion + + #region Parameter SlurmConfiguration_ScaleDownIdleTimeInSecond + /// + /// + /// The time before an idle node is scaled down. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SlurmConfiguration_ScaleDownIdleTimeInSeconds")] + public System.Int32? SlurmConfiguration_ScaleDownIdleTimeInSecond { get; set; } + #endregion + + #region Parameter Networking_SecurityGroupId + /// + /// + /// A list of security group IDs associated with the Elastic Network Interface (ENI) created + /// in subnets. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Networking_SecurityGroupIds")] + public System.String[] Networking_SecurityGroupId { get; set; } + #endregion + + #region Parameter Size + /// + /// + /// A value that determines the maximum number of compute nodes in the cluster and the + /// maximum number of jobs (active and queued).
    • SMALL: 32 compute nodes and 256 jobs
    • MEDIUM: 512 compute nodes and 8192 jobs
    • LARGE: 2048 compute nodes and 16,384 jobs
    + ///
    + ///
    + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.PCS.Size")] + public Amazon.PCS.Size Size { get; set; } + #endregion + + #region Parameter SlurmConfiguration_SlurmCustomSetting + /// + /// + /// Additional Slurm-specific configuration that directly maps to Slurm settings. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SlurmConfiguration_SlurmCustomSettings")] + public Amazon.PCS.Model.SlurmCustomSetting[] SlurmConfiguration_SlurmCustomSetting { get; set; } + #endregion + + #region Parameter Networking_SubnetId + /// + /// + /// The list of subnet IDs where Amazon Web Services PCS creates an Elastic Network Interface + /// (ENI) to enable communication between managed controllers and Amazon Web Services + /// PCS resources. Subnet IDs have the form subnet-0123456789abcdef0.Subnets can't be in Outposts, Wavelength or an Amazon Web Services Local Zone.Amazon Web Services PCS currently supports only 1 subnet in this list. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Networking_SubnetIds")] + public System.String[] Networking_SubnetId { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. + /// The tag value is optional and can be an empty string. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + + #region Parameter Scheduler_Type + /// + /// + /// The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.PCS.SchedulerType")] + public Amazon.PCS.SchedulerType Scheduler_Type { get; set; } + #endregion + + #region Parameter Scheduler_Version + /// + /// + /// The version of the specified scheduling software that Amazon Web Services PCS uses + /// to manage cluster scaling and job scheduling. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String Scheduler_Version { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Cluster'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.CreateClusterResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.CreateClusterResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Cluster"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ClusterName parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ClusterName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-PCSCluster (CreateCluster)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ClusterName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.ClusterName = this.ClusterName; + #if MODULAR + if (this.ClusterName == null && ParameterWasBound(nameof(this.ClusterName))) + { + WriteWarning("You are passing $null as a value for parameter ClusterName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.Networking_SecurityGroupId != null) + { + context.Networking_SecurityGroupId = new List(this.Networking_SecurityGroupId); + } + if (this.Networking_SubnetId != null) + { + context.Networking_SubnetId = new List(this.Networking_SubnetId); + } + context.Scheduler_Type = this.Scheduler_Type; + #if MODULAR + if (this.Scheduler_Type == null && ParameterWasBound(nameof(this.Scheduler_Type))) + { + WriteWarning("You are passing $null as a value for parameter Scheduler_Type which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Scheduler_Version = this.Scheduler_Version; + #if MODULAR + if (this.Scheduler_Version == null && ParameterWasBound(nameof(this.Scheduler_Version))) + { + WriteWarning("You are passing $null as a value for parameter Scheduler_Version which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Size = this.Size; + #if MODULAR + if (this.Size == null && ParameterWasBound(nameof(this.Size))) + { + WriteWarning("You are passing $null as a value for parameter Size which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SlurmConfiguration_ScaleDownIdleTimeInSecond = this.SlurmConfiguration_ScaleDownIdleTimeInSecond; + if (this.SlurmConfiguration_SlurmCustomSetting != null) + { + context.SlurmConfiguration_SlurmCustomSetting = new List(this.SlurmConfiguration_SlurmCustomSetting); + } + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.CreateClusterRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.ClusterName != null) + { + request.ClusterName = cmdletContext.ClusterName; + } + + // populate Networking + var requestNetworkingIsNull = true; + request.Networking = new Amazon.PCS.Model.NetworkingRequest(); + List requestNetworking_networking_SecurityGroupId = null; + if (cmdletContext.Networking_SecurityGroupId != null) + { + requestNetworking_networking_SecurityGroupId = cmdletContext.Networking_SecurityGroupId; + } + if (requestNetworking_networking_SecurityGroupId != null) + { + request.Networking.SecurityGroupIds = requestNetworking_networking_SecurityGroupId; + requestNetworkingIsNull = false; + } + List requestNetworking_networking_SubnetId = null; + if (cmdletContext.Networking_SubnetId != null) + { + requestNetworking_networking_SubnetId = cmdletContext.Networking_SubnetId; + } + if (requestNetworking_networking_SubnetId != null) + { + request.Networking.SubnetIds = requestNetworking_networking_SubnetId; + requestNetworkingIsNull = false; + } + // determine if request.Networking should be set to null + if (requestNetworkingIsNull) + { + request.Networking = null; + } + + // populate Scheduler + var requestSchedulerIsNull = true; + request.Scheduler = new Amazon.PCS.Model.SchedulerRequest(); + Amazon.PCS.SchedulerType requestScheduler_scheduler_Type = null; + if (cmdletContext.Scheduler_Type != null) + { + requestScheduler_scheduler_Type = cmdletContext.Scheduler_Type; + } + if (requestScheduler_scheduler_Type != null) + { + request.Scheduler.Type = requestScheduler_scheduler_Type; + requestSchedulerIsNull = false; + } + System.String requestScheduler_scheduler_Version = null; + if (cmdletContext.Scheduler_Version != null) + { + requestScheduler_scheduler_Version = cmdletContext.Scheduler_Version; + } + if (requestScheduler_scheduler_Version != null) + { + request.Scheduler.Version = requestScheduler_scheduler_Version; + requestSchedulerIsNull = false; + } + // determine if request.Scheduler should be set to null + if (requestSchedulerIsNull) + { + request.Scheduler = null; + } + if (cmdletContext.Size != null) + { + request.Size = cmdletContext.Size; + } + + // populate SlurmConfiguration + var requestSlurmConfigurationIsNull = true; + request.SlurmConfiguration = new Amazon.PCS.Model.ClusterSlurmConfigurationRequest(); + System.Int32? requestSlurmConfiguration_slurmConfiguration_ScaleDownIdleTimeInSecond = null; + if (cmdletContext.SlurmConfiguration_ScaleDownIdleTimeInSecond != null) + { + requestSlurmConfiguration_slurmConfiguration_ScaleDownIdleTimeInSecond = cmdletContext.SlurmConfiguration_ScaleDownIdleTimeInSecond.Value; + } + if (requestSlurmConfiguration_slurmConfiguration_ScaleDownIdleTimeInSecond != null) + { + request.SlurmConfiguration.ScaleDownIdleTimeInSeconds = requestSlurmConfiguration_slurmConfiguration_ScaleDownIdleTimeInSecond.Value; + requestSlurmConfigurationIsNull = false; + } + List requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting = null; + if (cmdletContext.SlurmConfiguration_SlurmCustomSetting != null) + { + requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting = cmdletContext.SlurmConfiguration_SlurmCustomSetting; + } + if (requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting != null) + { + request.SlurmConfiguration.SlurmCustomSettings = requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting; + requestSlurmConfigurationIsNull = false; + } + // determine if request.SlurmConfiguration should be set to null + if (requestSlurmConfigurationIsNull) + { + request.SlurmConfiguration = null; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.CreateClusterResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.CreateClusterRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "CreateCluster"); + try + { + #if DESKTOP + return client.CreateCluster(request); + #elif CORECLR + return client.CreateClusterAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String ClusterName { get; set; } + public List Networking_SecurityGroupId { get; set; } + public List Networking_SubnetId { get; set; } + public Amazon.PCS.SchedulerType Scheduler_Type { get; set; } + public System.String Scheduler_Version { get; set; } + public Amazon.PCS.Size Size { get; set; } + public System.Int32? SlurmConfiguration_ScaleDownIdleTimeInSecond { get; set; } + public List SlurmConfiguration_SlurmCustomSetting { get; set; } + public Dictionary Tag { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Cluster; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSComputeNodeGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSComputeNodeGroup-Cmdlet.cs new file mode 100644 index 0000000000..f5dca69780 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSComputeNodeGroup-Cmdlet.cs @@ -0,0 +1,668 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Creates a managed set of compute nodes. You associate a compute node group with a + /// cluster through 1 or more Amazon Web Services PCS queues or as part of the login fleet. + /// A compute node group includes the definition of the compute properties and lifecycle + /// management. Amazon Web Services PCS uses the information you provide to this API action + /// to launch compute nodes in your account. You can only specify subnets in the same + /// Amazon VPC as your cluster. You receive billing charges for the compute nodes that + /// Amazon Web Services PCS launches in your account. You must already have a launch template + /// before you call this API. For more information, see Launch + /// an instance from a launch template in the Amazon Elastic Compute Cloud User + /// Guide for Linux Instances. + /// + [Cmdlet("New", "PCSComputeNodeGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PCS.Model.ComputeNodeGroup")] + [AWSCmdlet("Calls the AWS Parallel Computing Service CreateComputeNodeGroup API operation.", Operation = new[] {"CreateComputeNodeGroup"}, SelectReturnType = typeof(Amazon.PCS.Model.CreateComputeNodeGroupResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.ComputeNodeGroup or Amazon.PCS.Model.CreateComputeNodeGroupResponse", + "This cmdlet returns an Amazon.PCS.Model.ComputeNodeGroup object.", + "The service call response (type Amazon.PCS.Model.CreateComputeNodeGroupResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewPCSComputeNodeGroupCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter SpotOptions_AllocationStrategy + /// + /// + /// The Amazon EC2 allocation strategy Amazon Web Services PCS uses to provision EC2 instances. + /// Amazon Web Services PCS supports lowest price, capacity optimized, and + /// price capacity optimized. For more information, see Use + /// allocation strategies to determine how EC2 Fleet or Spot Fleet fulfills Spot and On-Demand + /// capacity in the Amazon Elastic Compute Cloud User Guide. If you don't provide + /// this option, it defaults to price capacity optimized. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PCS.SpotAllocationStrategy")] + public Amazon.PCS.SpotAllocationStrategy SpotOptions_AllocationStrategy { get; set; } + #endregion + + #region Parameter AmiId + /// + /// + /// The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch + /// compute nodes (Amazon EC2 instances). If you don't provide this value, Amazon Web + /// Services PCS uses the AMI ID specified in the custom launch template. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String AmiId { get; set; } + #endregion + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster to create a compute node group in. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter ComputeNodeGroupName + /// + /// + /// A name to identify the cluster. Example: MyCluster + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ComputeNodeGroupName { get; set; } + #endregion + + #region Parameter IamInstanceProfileArn + /// + /// + /// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role + /// when launching EC2 instances. The role contained in your instance profile must have + /// the pcs:RegisterComputeNodeGroupInstance permission. The resource identifier + /// of the ARN must start with AWSPCS or it must have /aws-pcs/ in its path.Examples
    • arn:aws:iam::111122223333:instance-profile/AWSPCS-example-role-1
    • arn:aws:iam::111122223333:instance-profile/aws-pcs/example-role-2
    + ///
    + ///
    + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String IamInstanceProfileArn { get; set; } + #endregion + + #region Parameter CustomLaunchTemplate_Id + /// + /// + /// The ID of the EC2 launch template to use to provision instances. Example: lt-xxxx + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String CustomLaunchTemplate_Id { get; set; } + #endregion + + #region Parameter InstanceConfig + /// + /// + /// A list of EC2 instance configurations that Amazon Web Services PCS can provision in + /// the compute node group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("InstanceConfigs")] + public Amazon.PCS.Model.InstanceConfig[] InstanceConfig { get; set; } + #endregion + + #region Parameter ScalingConfiguration_MaxInstanceCount + /// + /// + /// The upper bound of the number of instances allowed in the compute fleet. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.Int32? ScalingConfiguration_MaxInstanceCount { get; set; } + #endregion + + #region Parameter ScalingConfiguration_MinInstanceCount + /// + /// + /// The lower bound of the number of instances allowed in the compute fleet. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.Int32? ScalingConfiguration_MinInstanceCount { get; set; } + #endregion + + #region Parameter PurchaseOption + /// + /// + /// Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS + /// supports On-Demand and Spot instances. For more information, see Instance + /// purchasing options in the Amazon Elastic Compute Cloud User Guide. If you + /// don't provide this option, it defaults to On-Demand. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PCS.PurchaseOption")] + public Amazon.PCS.PurchaseOption PurchaseOption { get; set; } + #endregion + + #region Parameter SlurmConfiguration_SlurmCustomSetting + /// + /// + /// Additional Slurm-specific configuration that directly maps to Slurm settings. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SlurmConfiguration_SlurmCustomSettings")] + public Amazon.PCS.Model.SlurmCustomSetting[] SlurmConfiguration_SlurmCustomSetting { get; set; } + #endregion + + #region Parameter SubnetId + /// + /// + /// The list of subnet IDs where the compute node group launches instances. Subnets must + /// be in the same VPC as the cluster. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SubnetIds")] + public System.String[] SubnetId { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. + /// The tag value is optional and can be an empty string. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + + #region Parameter CustomLaunchTemplate_Version + /// + /// + /// The version of the EC2 launch template to use to provision instances. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String CustomLaunchTemplate_Version { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'ComputeNodeGroup'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.CreateComputeNodeGroupResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.CreateComputeNodeGroupResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "ComputeNodeGroup"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ComputeNodeGroupName parameter. + /// The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ComputeNodeGroupName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-PCSComputeNodeGroup (CreateComputeNodeGroup)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ComputeNodeGroupName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AmiId = this.AmiId; + context.ClientToken = this.ClientToken; + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ComputeNodeGroupName = this.ComputeNodeGroupName; + #if MODULAR + if (this.ComputeNodeGroupName == null && ParameterWasBound(nameof(this.ComputeNodeGroupName))) + { + WriteWarning("You are passing $null as a value for parameter ComputeNodeGroupName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.CustomLaunchTemplate_Id = this.CustomLaunchTemplate_Id; + #if MODULAR + if (this.CustomLaunchTemplate_Id == null && ParameterWasBound(nameof(this.CustomLaunchTemplate_Id))) + { + WriteWarning("You are passing $null as a value for parameter CustomLaunchTemplate_Id which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.CustomLaunchTemplate_Version = this.CustomLaunchTemplate_Version; + #if MODULAR + if (this.CustomLaunchTemplate_Version == null && ParameterWasBound(nameof(this.CustomLaunchTemplate_Version))) + { + WriteWarning("You are passing $null as a value for parameter CustomLaunchTemplate_Version which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.IamInstanceProfileArn = this.IamInstanceProfileArn; + #if MODULAR + if (this.IamInstanceProfileArn == null && ParameterWasBound(nameof(this.IamInstanceProfileArn))) + { + WriteWarning("You are passing $null as a value for parameter IamInstanceProfileArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.InstanceConfig != null) + { + context.InstanceConfig = new List(this.InstanceConfig); + } + #if MODULAR + if (this.InstanceConfig == null && ParameterWasBound(nameof(this.InstanceConfig))) + { + WriteWarning("You are passing $null as a value for parameter InstanceConfig which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.PurchaseOption = this.PurchaseOption; + context.ScalingConfiguration_MaxInstanceCount = this.ScalingConfiguration_MaxInstanceCount; + #if MODULAR + if (this.ScalingConfiguration_MaxInstanceCount == null && ParameterWasBound(nameof(this.ScalingConfiguration_MaxInstanceCount))) + { + WriteWarning("You are passing $null as a value for parameter ScalingConfiguration_MaxInstanceCount which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ScalingConfiguration_MinInstanceCount = this.ScalingConfiguration_MinInstanceCount; + #if MODULAR + if (this.ScalingConfiguration_MinInstanceCount == null && ParameterWasBound(nameof(this.ScalingConfiguration_MinInstanceCount))) + { + WriteWarning("You are passing $null as a value for parameter ScalingConfiguration_MinInstanceCount which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.SlurmConfiguration_SlurmCustomSetting != null) + { + context.SlurmConfiguration_SlurmCustomSetting = new List(this.SlurmConfiguration_SlurmCustomSetting); + } + context.SpotOptions_AllocationStrategy = this.SpotOptions_AllocationStrategy; + if (this.SubnetId != null) + { + context.SubnetId = new List(this.SubnetId); + } + #if MODULAR + if (this.SubnetId == null && ParameterWasBound(nameof(this.SubnetId))) + { + WriteWarning("You are passing $null as a value for parameter SubnetId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.CreateComputeNodeGroupRequest(); + + if (cmdletContext.AmiId != null) + { + request.AmiId = cmdletContext.AmiId; + } + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.ComputeNodeGroupName != null) + { + request.ComputeNodeGroupName = cmdletContext.ComputeNodeGroupName; + } + + // populate CustomLaunchTemplate + var requestCustomLaunchTemplateIsNull = true; + request.CustomLaunchTemplate = new Amazon.PCS.Model.CustomLaunchTemplate(); + System.String requestCustomLaunchTemplate_customLaunchTemplate_Id = null; + if (cmdletContext.CustomLaunchTemplate_Id != null) + { + requestCustomLaunchTemplate_customLaunchTemplate_Id = cmdletContext.CustomLaunchTemplate_Id; + } + if (requestCustomLaunchTemplate_customLaunchTemplate_Id != null) + { + request.CustomLaunchTemplate.Id = requestCustomLaunchTemplate_customLaunchTemplate_Id; + requestCustomLaunchTemplateIsNull = false; + } + System.String requestCustomLaunchTemplate_customLaunchTemplate_Version = null; + if (cmdletContext.CustomLaunchTemplate_Version != null) + { + requestCustomLaunchTemplate_customLaunchTemplate_Version = cmdletContext.CustomLaunchTemplate_Version; + } + if (requestCustomLaunchTemplate_customLaunchTemplate_Version != null) + { + request.CustomLaunchTemplate.Version = requestCustomLaunchTemplate_customLaunchTemplate_Version; + requestCustomLaunchTemplateIsNull = false; + } + // determine if request.CustomLaunchTemplate should be set to null + if (requestCustomLaunchTemplateIsNull) + { + request.CustomLaunchTemplate = null; + } + if (cmdletContext.IamInstanceProfileArn != null) + { + request.IamInstanceProfileArn = cmdletContext.IamInstanceProfileArn; + } + if (cmdletContext.InstanceConfig != null) + { + request.InstanceConfigs = cmdletContext.InstanceConfig; + } + if (cmdletContext.PurchaseOption != null) + { + request.PurchaseOption = cmdletContext.PurchaseOption; + } + + // populate ScalingConfiguration + var requestScalingConfigurationIsNull = true; + request.ScalingConfiguration = new Amazon.PCS.Model.ScalingConfigurationRequest(); + System.Int32? requestScalingConfiguration_scalingConfiguration_MaxInstanceCount = null; + if (cmdletContext.ScalingConfiguration_MaxInstanceCount != null) + { + requestScalingConfiguration_scalingConfiguration_MaxInstanceCount = cmdletContext.ScalingConfiguration_MaxInstanceCount.Value; + } + if (requestScalingConfiguration_scalingConfiguration_MaxInstanceCount != null) + { + request.ScalingConfiguration.MaxInstanceCount = requestScalingConfiguration_scalingConfiguration_MaxInstanceCount.Value; + requestScalingConfigurationIsNull = false; + } + System.Int32? requestScalingConfiguration_scalingConfiguration_MinInstanceCount = null; + if (cmdletContext.ScalingConfiguration_MinInstanceCount != null) + { + requestScalingConfiguration_scalingConfiguration_MinInstanceCount = cmdletContext.ScalingConfiguration_MinInstanceCount.Value; + } + if (requestScalingConfiguration_scalingConfiguration_MinInstanceCount != null) + { + request.ScalingConfiguration.MinInstanceCount = requestScalingConfiguration_scalingConfiguration_MinInstanceCount.Value; + requestScalingConfigurationIsNull = false; + } + // determine if request.ScalingConfiguration should be set to null + if (requestScalingConfigurationIsNull) + { + request.ScalingConfiguration = null; + } + + // populate SlurmConfiguration + var requestSlurmConfigurationIsNull = true; + request.SlurmConfiguration = new Amazon.PCS.Model.ComputeNodeGroupSlurmConfigurationRequest(); + List requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting = null; + if (cmdletContext.SlurmConfiguration_SlurmCustomSetting != null) + { + requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting = cmdletContext.SlurmConfiguration_SlurmCustomSetting; + } + if (requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting != null) + { + request.SlurmConfiguration.SlurmCustomSettings = requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting; + requestSlurmConfigurationIsNull = false; + } + // determine if request.SlurmConfiguration should be set to null + if (requestSlurmConfigurationIsNull) + { + request.SlurmConfiguration = null; + } + + // populate SpotOptions + var requestSpotOptionsIsNull = true; + request.SpotOptions = new Amazon.PCS.Model.SpotOptions(); + Amazon.PCS.SpotAllocationStrategy requestSpotOptions_spotOptions_AllocationStrategy = null; + if (cmdletContext.SpotOptions_AllocationStrategy != null) + { + requestSpotOptions_spotOptions_AllocationStrategy = cmdletContext.SpotOptions_AllocationStrategy; + } + if (requestSpotOptions_spotOptions_AllocationStrategy != null) + { + request.SpotOptions.AllocationStrategy = requestSpotOptions_spotOptions_AllocationStrategy; + requestSpotOptionsIsNull = false; + } + // determine if request.SpotOptions should be set to null + if (requestSpotOptionsIsNull) + { + request.SpotOptions = null; + } + if (cmdletContext.SubnetId != null) + { + request.SubnetIds = cmdletContext.SubnetId; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.CreateComputeNodeGroupResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.CreateComputeNodeGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "CreateComputeNodeGroup"); + try + { + #if DESKTOP + return client.CreateComputeNodeGroup(request); + #elif CORECLR + return client.CreateComputeNodeGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AmiId { get; set; } + public System.String ClientToken { get; set; } + public System.String ClusterIdentifier { get; set; } + public System.String ComputeNodeGroupName { get; set; } + public System.String CustomLaunchTemplate_Id { get; set; } + public System.String CustomLaunchTemplate_Version { get; set; } + public System.String IamInstanceProfileArn { get; set; } + public List InstanceConfig { get; set; } + public Amazon.PCS.PurchaseOption PurchaseOption { get; set; } + public System.Int32? ScalingConfiguration_MaxInstanceCount { get; set; } + public System.Int32? ScalingConfiguration_MinInstanceCount { get; set; } + public List SlurmConfiguration_SlurmCustomSetting { get; set; } + public Amazon.PCS.SpotAllocationStrategy SpotOptions_AllocationStrategy { get; set; } + public List SubnetId { get; set; } + public Dictionary Tag { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ComputeNodeGroup; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSQueue-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSQueue-Cmdlet.cs new file mode 100644 index 0000000000..72e9615dbc --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/New-PCSQueue-Cmdlet.cs @@ -0,0 +1,315 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Creates a job queue. You must associate 1 or more compute node groups with the queue. + /// You can associate 1 compute node group with multiple queues. + /// + [Cmdlet("New", "PCSQueue", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PCS.Model.Queue")] + [AWSCmdlet("Calls the AWS Parallel Computing Service CreateQueue API operation.", Operation = new[] {"CreateQueue"}, SelectReturnType = typeof(Amazon.PCS.Model.CreateQueueResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.Queue or Amazon.PCS.Model.CreateQueueResponse", + "This cmdlet returns an Amazon.PCS.Model.Queue object.", + "The service call response (type Amazon.PCS.Model.CreateQueueResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewPCSQueueCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster for which to create a queue. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter ComputeNodeGroupConfiguration + /// + /// + /// The list of compute node group configurations to associate with the queue. Queues + /// assign jobs to associated compute node groups. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("ComputeNodeGroupConfigurations")] + public Amazon.PCS.Model.ComputeNodeGroupConfiguration[] ComputeNodeGroupConfiguration { get; set; } + #endregion + + #region Parameter QueueName + /// + /// + /// A name to identify the queue. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String QueueName { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. + /// The tag value is optional and can be an empty string. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public System.Collections.Hashtable Tag { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Queue'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.CreateQueueResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.CreateQueueResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Queue"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the QueueName parameter. + /// The -PassThru parameter is deprecated, use -Select '^QueueName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^QueueName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.QueueName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-PCSQueue (CreateQueue)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.QueueName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.ComputeNodeGroupConfiguration != null) + { + context.ComputeNodeGroupConfiguration = new List(this.ComputeNodeGroupConfiguration); + } + context.QueueName = this.QueueName; + #if MODULAR + if (this.QueueName == null && ParameterWasBound(nameof(this.QueueName))) + { + WriteWarning("You are passing $null as a value for parameter QueueName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.Tag != null) + { + context.Tag = new Dictionary(StringComparer.Ordinal); + foreach (var hashKey in this.Tag.Keys) + { + context.Tag.Add((String)hashKey, (System.String)(this.Tag[hashKey])); + } + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.CreateQueueRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.ComputeNodeGroupConfiguration != null) + { + request.ComputeNodeGroupConfigurations = cmdletContext.ComputeNodeGroupConfiguration; + } + if (cmdletContext.QueueName != null) + { + request.QueueName = cmdletContext.QueueName; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.CreateQueueResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.CreateQueueRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "CreateQueue"); + try + { + #if DESKTOP + return client.CreateQueue(request); + #elif CORECLR + return client.CreateQueueAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String ClusterIdentifier { get; set; } + public List ComputeNodeGroupConfiguration { get; set; } + public System.String QueueName { get; set; } + public Dictionary Tag { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Queue; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Unregister-WLWebsiteCertificateAuthority-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Register-PCSComputeNodeGroupInstance-Cmdlet.cs similarity index 64% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Unregister-WLWebsiteCertificateAuthority-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/PCS/Basic/Register-PCSComputeNodeGroupInstance-Cmdlet.cs index 6523a8c1d9..7e8c0f5f01 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Unregister-WLWebsiteCertificateAuthority-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Register-PCSComputeNodeGroupInstance-Cmdlet.cs @@ -22,31 +22,36 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.PCS; +using Amazon.PCS.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.PCS { /// - /// Removes a certificate authority (CA).

    This operation is deprecated. + /// + /// This API action isn't intended for you to use. + /// + /// Amazon Web Services PCS uses this API action to register the compute nodes it launches + /// in your account. + /// ///
    - [Cmdlet("Unregister", "WLWebsiteCertificateAuthority", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink DisassociateWebsiteCertificateAuthority API operation.", Operation = new[] {"DisassociateWebsiteCertificateAuthority"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DisassociateWebsiteCertificateAuthorityResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.DisassociateWebsiteCertificateAuthorityResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.DisassociateWebsiteCertificateAuthorityResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Register", "PCSComputeNodeGroupInstance", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PCS.Model.RegisterComputeNodeGroupInstanceResponse")] + [AWSCmdlet("Calls the AWS Parallel Computing Service RegisterComputeNodeGroupInstance API operation.", Operation = new[] {"RegisterComputeNodeGroupInstance"}, SelectReturnType = typeof(Amazon.PCS.Model.RegisterComputeNodeGroupInstanceResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.RegisterComputeNodeGroupInstanceResponse", + "This cmdlet returns an Amazon.PCS.Model.RegisterComputeNodeGroupInstanceResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UnregisterWLWebsiteCertificateAuthorityCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RegisterPCSComputeNodeGroupInstanceCmdlet : AmazonPCSClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter BootstrapId /// /// - /// The ARN of the fleet. + /// The client-generated token to allow for retries. /// /// #if !MODULAR @@ -57,13 +62,13 @@ public partial class UnregisterWLWebsiteCertificateAuthorityCmdlet : AmazonWorkL [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String BootstrapId { get; set; } #endregion - #region Parameter WebsiteCaId + #region Parameter ClusterIdentifier /// /// - /// A unique identifier for the CA. + /// The name or ID of the cluster to register the compute node group instance in. /// /// #if !MODULAR @@ -74,13 +79,14 @@ public partial class UnregisterWLWebsiteCertificateAuthorityCmdlet : AmazonWorkL [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String WebsiteCaId { get; set; } + public System.String ClusterIdentifier { get; set; } #endregion #region Parameter Select /// - /// 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.WorkLink.Model.DisassociateWebsiteCertificateAuthorityResponse). + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.RegisterComputeNodeGroupInstanceResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.RegisterComputeNodeGroupInstanceResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -89,10 +95,10 @@ public partial class UnregisterWLWebsiteCertificateAuthorityCmdlet : AmazonWorkL #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the BootstrapId parameter. + /// The -PassThru parameter is deprecated, use -Select '^BootstrapId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^BootstrapId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -112,8 +118,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Unregister-WLWebsiteCertificateAuthority (DisassociateWebsiteCertificateAuthority)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.BootstrapId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Register-PCSComputeNodeGroupInstance (RegisterComputeNodeGroupInstance)")) { return; } @@ -126,7 +132,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -135,21 +141,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.BootstrapId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.BootstrapId = this.BootstrapId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.BootstrapId == null && ParameterWasBound(nameof(this.BootstrapId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter BootstrapId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.WebsiteCaId = this.WebsiteCaId; + context.ClusterIdentifier = this.ClusterIdentifier; #if MODULAR - if (this.WebsiteCaId == null && ParameterWasBound(nameof(this.WebsiteCaId))) + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) { - WriteWarning("You are passing $null as a value for parameter WebsiteCaId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -166,15 +172,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DisassociateWebsiteCertificateAuthorityRequest(); + var request = new Amazon.PCS.Model.RegisterComputeNodeGroupInstanceRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.BootstrapId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.BootstrapId = cmdletContext.BootstrapId; } - if (cmdletContext.WebsiteCaId != null) + if (cmdletContext.ClusterIdentifier != null) { - request.WebsiteCaId = cmdletContext.WebsiteCaId; + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; } CmdletOutput output; @@ -209,15 +215,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DisassociateWebsiteCertificateAuthorityResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DisassociateWebsiteCertificateAuthorityRequest request) + private Amazon.PCS.Model.RegisterComputeNodeGroupInstanceResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.RegisterComputeNodeGroupInstanceRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DisassociateWebsiteCertificateAuthority"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "RegisterComputeNodeGroupInstance"); try { #if DESKTOP - return client.DisassociateWebsiteCertificateAuthority(request); + return client.RegisterComputeNodeGroupInstance(request); #elif CORECLR - return client.DisassociateWebsiteCertificateAuthorityAsync(request).GetAwaiter().GetResult(); + return client.RegisterComputeNodeGroupInstanceAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -237,10 +243,10 @@ private Amazon.WorkLink.Model.DisassociateWebsiteCertificateAuthorityResponse Ca internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.String WebsiteCaId { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; + public System.String BootstrapId { get; set; } + public System.String ClusterIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLDevicePolicyConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSCluster-Cmdlet.cs similarity index 66% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLDevicePolicyConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSCluster-Cmdlet.cs index 81b47f1ece..c7a3087ee4 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLDevicePolicyConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSCluster-Cmdlet.cs @@ -22,42 +22,31 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.PCS; +using Amazon.PCS.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.PCS { /// - /// Updates the device policy configuration for the fleet.

    This operation is deprecated. + /// Deletes a cluster and all its linked resources. You must delete all queues and compute + /// node groups associated with the cluster before you can delete the cluster. ///
    - [Cmdlet("Update", "WLDevicePolicyConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [Cmdlet("Remove", "PCSCluster", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink UpdateDevicePolicyConfiguration API operation.", Operation = new[] {"UpdateDevicePolicyConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.UpdateDevicePolicyConfigurationResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.UpdateDevicePolicyConfigurationResponse", + [AWSCmdlet("Calls the AWS Parallel Computing Service DeleteCluster API operation.", Operation = new[] {"DeleteCluster"}, SelectReturnType = typeof(Amazon.PCS.Model.DeleteClusterResponse))] + [AWSCmdletOutput("None or Amazon.PCS.Model.DeleteClusterResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.UpdateDevicePolicyConfigurationResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.PCS.Model.DeleteClusterResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UpdateWLDevicePolicyConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemovePCSClusterCmdlet : AmazonPCSClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DeviceCaCertificate + #region Parameter ClusterIdentifier /// /// - /// The certificate chain, including intermediate certificates and the root certificate - /// authority certificate used to issue device certificates. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String DeviceCaCertificate { get; set; } - #endregion - - #region Parameter FleetArn - /// - /// - /// The ARN of the fleet. + /// The name or ID of the cluster to delete. /// /// #if !MODULAR @@ -68,13 +57,28 @@ public partial class UpdateWLDevicePolicyConfigurationCmdlet : AmazonWorkLinkCli [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } #endregion #region Parameter Select /// /// 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.WorkLink.Model.UpdateDevicePolicyConfigurationResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.DeleteClusterResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -83,10 +87,10 @@ public partial class UpdateWLDevicePolicyConfigurationCmdlet : AmazonWorkLinkCli #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the ClusterIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ClusterIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -106,8 +110,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-WLDevicePolicyConfiguration (UpdateDevicePolicyConfiguration)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ClusterIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-PCSCluster (DeleteCluster)")) { return; } @@ -120,7 +124,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -129,15 +133,15 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.ClusterIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DeviceCaCertificate = this.DeviceCaCertificate; - context.FleetArn = this.FleetArn; + context.ClientToken = this.ClientToken; + context.ClusterIdentifier = this.ClusterIdentifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -154,15 +158,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.UpdateDevicePolicyConfigurationRequest(); + var request = new Amazon.PCS.Model.DeleteClusterRequest(); - if (cmdletContext.DeviceCaCertificate != null) + if (cmdletContext.ClientToken != null) { - request.DeviceCaCertificate = cmdletContext.DeviceCaCertificate; + request.ClientToken = cmdletContext.ClientToken; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.ClusterIdentifier != null) { - request.FleetArn = cmdletContext.FleetArn; + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; } CmdletOutput output; @@ -197,15 +201,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.UpdateDevicePolicyConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.UpdateDevicePolicyConfigurationRequest request) + private Amazon.PCS.Model.DeleteClusterResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.DeleteClusterRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "UpdateDevicePolicyConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "DeleteCluster"); try { #if DESKTOP - return client.UpdateDevicePolicyConfiguration(request); + return client.DeleteCluster(request); #elif CORECLR - return client.UpdateDevicePolicyConfigurationAsync(request).GetAwaiter().GetResult(); + return client.DeleteClusterAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -225,9 +229,9 @@ private Amazon.WorkLink.Model.UpdateDevicePolicyConfigurationResponse CallAWSSer internal partial class CmdletContext : ExecutorContext { - public System.String DeviceCaCertificate { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String ClientToken { get; set; } + public System.String ClusterIdentifier { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSComputeNodeGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSComputeNodeGroup-Cmdlet.cs new file mode 100644 index 0000000000..c6b8d6d8c6 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSComputeNodeGroup-Cmdlet.cs @@ -0,0 +1,268 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Deletes a compute node group. You must delete all queues associated with the compute + /// node group first. + /// + [Cmdlet("Remove", "PCSComputeNodeGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the AWS Parallel Computing Service DeleteComputeNodeGroup API operation.", Operation = new[] {"DeleteComputeNodeGroup"}, SelectReturnType = typeof(Amazon.PCS.Model.DeleteComputeNodeGroupResponse))] + [AWSCmdletOutput("None or Amazon.PCS.Model.DeleteComputeNodeGroupResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.PCS.Model.DeleteComputeNodeGroupResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemovePCSComputeNodeGroupCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster of the compute node group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter ComputeNodeGroupIdentifier + /// + /// + /// The name or ID of the compute node group to delete. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ComputeNodeGroupIdentifier { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// 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.PCS.Model.DeleteComputeNodeGroupResponse). + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ComputeNodeGroupIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ComputeNodeGroupIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-PCSComputeNodeGroup (DeleteComputeNodeGroup)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ComputeNodeGroupIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ComputeNodeGroupIdentifier = this.ComputeNodeGroupIdentifier; + #if MODULAR + if (this.ComputeNodeGroupIdentifier == null && ParameterWasBound(nameof(this.ComputeNodeGroupIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ComputeNodeGroupIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.DeleteComputeNodeGroupRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.ComputeNodeGroupIdentifier != null) + { + request.ComputeNodeGroupIdentifier = cmdletContext.ComputeNodeGroupIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.DeleteComputeNodeGroupResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.DeleteComputeNodeGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "DeleteComputeNodeGroup"); + try + { + #if DESKTOP + return client.DeleteComputeNodeGroup(request); + #elif CORECLR + return client.DeleteComputeNodeGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String ClusterIdentifier { get; set; } + public System.String ComputeNodeGroupIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLIdentityProviderConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSQueue-Cmdlet.cs similarity index 62% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLIdentityProviderConfiguration-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSQueue-Cmdlet.cs index ccfcf38d91..92f79ece94 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLIdentityProviderConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSQueue-Cmdlet.cs @@ -22,76 +22,81 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.PCS; +using Amazon.PCS.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.PCS { /// - /// Updates the identity provider configuration for the fleet.

    This operation is deprecated. + /// Deletes a job queue. If the compute node group associated with this queue isn't associated + /// with any other queues, Amazon Web Services PCS terminates all the compute nodes for + /// this queue. ///
    - [Cmdlet("Update", "WLIdentityProviderConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [Cmdlet("Remove", "PCSQueue", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink UpdateIdentityProviderConfiguration API operation.", Operation = new[] {"UpdateIdentityProviderConfiguration"}, SelectReturnType = typeof(Amazon.WorkLink.Model.UpdateIdentityProviderConfigurationResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.UpdateIdentityProviderConfigurationResponse", + [AWSCmdlet("Calls the AWS Parallel Computing Service DeleteQueue API operation.", Operation = new[] {"DeleteQueue"}, SelectReturnType = typeof(Amazon.PCS.Model.DeleteQueueResponse))] + [AWSCmdletOutput("None or Amazon.PCS.Model.DeleteQueueResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.UpdateIdentityProviderConfigurationResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.PCS.Model.DeleteQueueResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UpdateWLIdentityProviderConfigurationCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemovePCSQueueCmdlet : AmazonPCSClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter ClusterIdentifier /// /// - /// The ARN of the fleet. + /// The name or ID of the cluster of the queue. /// /// #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String ClusterIdentifier { get; set; } #endregion - #region Parameter IdentityProviderSamlMetadata + #region Parameter QueueIdentifier /// /// - /// The SAML metadata document provided by the customer’s identity provider. The existing - /// IdentityProviderSamlMetadata is unset if null is passed. + /// The name or ID of the queue to delete. /// /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String IdentityProviderSamlMetadata { get; set; } + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String QueueIdentifier { get; set; } #endregion - #region Parameter IdentityProviderType + #region Parameter ClientToken /// /// - /// The type of identity provider. + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. /// /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] - [AWSConstantClassSource("Amazon.WorkLink.IdentityProviderType")] - public Amazon.WorkLink.IdentityProviderType IdentityProviderType { get; set; } + public System.String ClientToken { get; set; } #endregion #region Parameter Select /// /// 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.WorkLink.Model.UpdateIdentityProviderConfigurationResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.DeleteQueueResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -100,10 +105,10 @@ public partial class UpdateWLIdentityProviderConfigurationCmdlet : AmazonWorkLin #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the QueueIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^QueueIdentifier' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^QueueIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -123,8 +128,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-WLIdentityProviderConfiguration (UpdateIdentityProviderConfiguration)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.QueueIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-PCSQueue (DeleteQueue)")) { return; } @@ -137,7 +142,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -146,22 +151,22 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.QueueIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.ClientToken = this.ClientToken; + context.ClusterIdentifier = this.ClusterIdentifier; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.IdentityProviderSamlMetadata = this.IdentityProviderSamlMetadata; - context.IdentityProviderType = this.IdentityProviderType; + context.QueueIdentifier = this.QueueIdentifier; #if MODULAR - if (this.IdentityProviderType == null && ParameterWasBound(nameof(this.IdentityProviderType))) + if (this.QueueIdentifier == null && ParameterWasBound(nameof(this.QueueIdentifier))) { - WriteWarning("You are passing $null as a value for parameter IdentityProviderType which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter QueueIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -178,19 +183,19 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.UpdateIdentityProviderConfigurationRequest(); + var request = new Amazon.PCS.Model.DeleteQueueRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.ClientToken != null) { - request.FleetArn = cmdletContext.FleetArn; + request.ClientToken = cmdletContext.ClientToken; } - if (cmdletContext.IdentityProviderSamlMetadata != null) + if (cmdletContext.ClusterIdentifier != null) { - request.IdentityProviderSamlMetadata = cmdletContext.IdentityProviderSamlMetadata; + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; } - if (cmdletContext.IdentityProviderType != null) + if (cmdletContext.QueueIdentifier != null) { - request.IdentityProviderType = cmdletContext.IdentityProviderType; + request.QueueIdentifier = cmdletContext.QueueIdentifier; } CmdletOutput output; @@ -225,15 +230,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.UpdateIdentityProviderConfigurationResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.UpdateIdentityProviderConfigurationRequest request) + private Amazon.PCS.Model.DeleteQueueResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.DeleteQueueRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "UpdateIdentityProviderConfiguration"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "DeleteQueue"); try { #if DESKTOP - return client.UpdateIdentityProviderConfiguration(request); + return client.DeleteQueue(request); #elif CORECLR - return client.UpdateIdentityProviderConfigurationAsync(request).GetAwaiter().GetResult(); + return client.DeleteQueueAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -253,10 +258,10 @@ private Amazon.WorkLink.Model.UpdateIdentityProviderConfigurationResponse CallAW internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.String IdentityProviderSamlMetadata { get; set; } - public Amazon.WorkLink.IdentityProviderType IdentityProviderType { get; set; } - public System.Func Select { get; set; } = + public System.String ClientToken { get; set; } + public System.String ClusterIdentifier { get; set; } + public System.String QueueIdentifier { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLResourceTag-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSResourceTag-Cmdlet.cs similarity index 84% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLResourceTag-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSResourceTag-Cmdlet.cs index 5e1eb6698c..39c3c868fe 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Remove-WLResourceTag-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Remove-PCSResourceTag-Cmdlet.cs @@ -22,23 +22,23 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.PCS; +using Amazon.PCS.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.PCS { /// - /// Removes one or more tags from the specified resource.

    This operation is deprecated. + /// Deletes tags from an Amazon Web Services PCS resource. To delete a tag, specify the + /// tag key and the Amazon Resource Name (ARN) of the Amazon Web Services PCS resource. ///
    - [Cmdlet("Remove", "WLResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [Cmdlet("Remove", "PCSResourceTag", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink UntagResource API operation.", Operation = new[] {"UntagResource"}, SelectReturnType = typeof(Amazon.WorkLink.Model.UntagResourceResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.UntagResourceResponse", + [AWSCmdlet("Calls the AWS Parallel Computing Service UntagResource API operation.", Operation = new[] {"UntagResource"}, SelectReturnType = typeof(Amazon.PCS.Model.UntagResourceResponse))] + [AWSCmdletOutput("None or Amazon.PCS.Model.UntagResourceResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.UntagResourceResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.PCS.Model.UntagResourceResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class RemoveWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RemovePCSResourceTagCmdlet : AmazonPCSClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; @@ -46,7 +46,7 @@ public partial class RemoveWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IEx #region Parameter ResourceArn /// /// - /// The Amazon Resource Name (ARN) of the fleet. + /// The Amazon Resource Name (ARN) of the resource. /// /// #if !MODULAR @@ -63,7 +63,8 @@ public partial class RemoveWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IEx #region Parameter TagKey /// /// - /// The list of tag keys to remove from the resource. + /// 1 or more tag keys to remove from the resource. Specify only tag keys and not tag + /// values. /// /// #if !MODULAR @@ -81,7 +82,7 @@ public partial class RemoveWLResourceTagCmdlet : AmazonWorkLinkClientCmdlet, IEx #region Parameter Select /// /// 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.WorkLink.Model.UntagResourceResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.UntagResourceResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -114,7 +115,7 @@ protected override void ProcessRecord() base.ProcessRecord(); var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ResourceArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-WLResourceTag (UntagResource)")) + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-PCSResourceTag (UntagResource)")) { return; } @@ -127,7 +128,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -170,7 +171,7 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.UntagResourceRequest(); + var request = new Amazon.PCS.Model.UntagResourceRequest(); if (cmdletContext.ResourceArn != null) { @@ -213,9 +214,9 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.UntagResourceResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.UntagResourceRequest request) + private Amazon.PCS.Model.UntagResourceResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.UntagResourceRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "UntagResource"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "UntagResource"); try { #if DESKTOP @@ -243,7 +244,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String ResourceArn { get; set; } public List TagKey { get; set; } - public System.Func Select { get; set; } = + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Update-PCSComputeNodeGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Update-PCSComputeNodeGroup-Cmdlet.cs new file mode 100644 index 0000000000..74942fd0eb --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Update-PCSComputeNodeGroup-Cmdlet.cs @@ -0,0 +1,526 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Updates a compute node group. You can update many of the fields related to your compute + /// node group including the configurations for networking, compute nodes, and settings + /// specific to your scheduler (such as Slurm). + /// + [Cmdlet("Update", "PCSComputeNodeGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PCS.Model.ComputeNodeGroup")] + [AWSCmdlet("Calls the AWS Parallel Computing Service UpdateComputeNodeGroup API operation.", Operation = new[] {"UpdateComputeNodeGroup"}, SelectReturnType = typeof(Amazon.PCS.Model.UpdateComputeNodeGroupResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.ComputeNodeGroup or Amazon.PCS.Model.UpdateComputeNodeGroupResponse", + "This cmdlet returns an Amazon.PCS.Model.ComputeNodeGroup object.", + "The service call response (type Amazon.PCS.Model.UpdateComputeNodeGroupResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdatePCSComputeNodeGroupCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter SpotOptions_AllocationStrategy + /// + /// + /// The Amazon EC2 allocation strategy Amazon Web Services PCS uses to provision EC2 instances. + /// Amazon Web Services PCS supports lowest price, capacity optimized, and + /// price capacity optimized. For more information, see Use + /// allocation strategies to determine how EC2 Fleet or Spot Fleet fulfills Spot and On-Demand + /// capacity in the Amazon Elastic Compute Cloud User Guide. If you don't provide + /// this option, it defaults to price capacity optimized. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PCS.SpotAllocationStrategy")] + public Amazon.PCS.SpotAllocationStrategy SpotOptions_AllocationStrategy { get; set; } + #endregion + + #region Parameter AmiId + /// + /// + /// The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch + /// instances. If not provided, Amazon Web Services PCS uses the AMI ID specified in the + /// custom launch template. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String AmiId { get; set; } + #endregion + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster of the compute node group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter ComputeNodeGroupIdentifier + /// + /// + /// The name or ID of the compute node group. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ComputeNodeGroupIdentifier { get; set; } + #endregion + + #region Parameter IamInstanceProfileArn + /// + /// + /// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role + /// when launching EC2 instances. The role contained in your instance profile must have + /// the pcs:RegisterComputeNodeGroupInstance permission. The resource identifier + /// of the ARN must start with AWSPCS or it must have /aws-pcs/ in its path.Examples
    • arn:aws:iam::111122223333:instance-profile/AWSPCS-example-role-1
    • arn:aws:iam::111122223333:instance-profile/aws-pcs/example-role-2
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String IamInstanceProfileArn { get; set; } + #endregion + + #region Parameter CustomLaunchTemplate_Id + /// + /// + /// The ID of the EC2 launch template to use to provision instances. Example: lt-xxxx + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String CustomLaunchTemplate_Id { get; set; } + #endregion + + #region Parameter ScalingConfiguration_MaxInstanceCount + /// + /// + /// The upper bound of the number of instances allowed in the compute fleet. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Int32? ScalingConfiguration_MaxInstanceCount { get; set; } + #endregion + + #region Parameter ScalingConfiguration_MinInstanceCount + /// + /// + /// The lower bound of the number of instances allowed in the compute fleet. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Int32? ScalingConfiguration_MinInstanceCount { get; set; } + #endregion + + #region Parameter PurchaseOption + /// + /// + /// Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS + /// supports On-Demand and Spot instances. For more information, see Instance + /// purchasing options in the Amazon Elastic Compute Cloud User Guide. If you + /// don't provide this option, it defaults to On-Demand. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PCS.PurchaseOption")] + public Amazon.PCS.PurchaseOption PurchaseOption { get; set; } + #endregion + + #region Parameter SlurmConfiguration_SlurmCustomSetting + /// + /// + /// Additional Slurm-specific configuration that directly maps to Slurm settings. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SlurmConfiguration_SlurmCustomSettings")] + public Amazon.PCS.Model.SlurmCustomSetting[] SlurmConfiguration_SlurmCustomSetting { get; set; } + #endregion + + #region Parameter SubnetId + /// + /// + /// The list of subnet IDs where the compute node group provisions instances. The subnets + /// must be in the same VPC as the cluster. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SubnetIds")] + public System.String[] SubnetId { get; set; } + #endregion + + #region Parameter CustomLaunchTemplate_Version + /// + /// + /// The version of the EC2 launch template to use to provision instances. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String CustomLaunchTemplate_Version { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'ComputeNodeGroup'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.UpdateComputeNodeGroupResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.UpdateComputeNodeGroupResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "ComputeNodeGroup"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ComputeNodeGroupIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ComputeNodeGroupIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ComputeNodeGroupIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-PCSComputeNodeGroup (UpdateComputeNodeGroup)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ComputeNodeGroupIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AmiId = this.AmiId; + context.ClientToken = this.ClientToken; + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ComputeNodeGroupIdentifier = this.ComputeNodeGroupIdentifier; + #if MODULAR + if (this.ComputeNodeGroupIdentifier == null && ParameterWasBound(nameof(this.ComputeNodeGroupIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ComputeNodeGroupIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.CustomLaunchTemplate_Id = this.CustomLaunchTemplate_Id; + context.CustomLaunchTemplate_Version = this.CustomLaunchTemplate_Version; + context.IamInstanceProfileArn = this.IamInstanceProfileArn; + context.PurchaseOption = this.PurchaseOption; + context.ScalingConfiguration_MaxInstanceCount = this.ScalingConfiguration_MaxInstanceCount; + context.ScalingConfiguration_MinInstanceCount = this.ScalingConfiguration_MinInstanceCount; + if (this.SlurmConfiguration_SlurmCustomSetting != null) + { + context.SlurmConfiguration_SlurmCustomSetting = new List(this.SlurmConfiguration_SlurmCustomSetting); + } + context.SpotOptions_AllocationStrategy = this.SpotOptions_AllocationStrategy; + if (this.SubnetId != null) + { + context.SubnetId = new List(this.SubnetId); + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.UpdateComputeNodeGroupRequest(); + + if (cmdletContext.AmiId != null) + { + request.AmiId = cmdletContext.AmiId; + } + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.ComputeNodeGroupIdentifier != null) + { + request.ComputeNodeGroupIdentifier = cmdletContext.ComputeNodeGroupIdentifier; + } + + // populate CustomLaunchTemplate + var requestCustomLaunchTemplateIsNull = true; + request.CustomLaunchTemplate = new Amazon.PCS.Model.CustomLaunchTemplate(); + System.String requestCustomLaunchTemplate_customLaunchTemplate_Id = null; + if (cmdletContext.CustomLaunchTemplate_Id != null) + { + requestCustomLaunchTemplate_customLaunchTemplate_Id = cmdletContext.CustomLaunchTemplate_Id; + } + if (requestCustomLaunchTemplate_customLaunchTemplate_Id != null) + { + request.CustomLaunchTemplate.Id = requestCustomLaunchTemplate_customLaunchTemplate_Id; + requestCustomLaunchTemplateIsNull = false; + } + System.String requestCustomLaunchTemplate_customLaunchTemplate_Version = null; + if (cmdletContext.CustomLaunchTemplate_Version != null) + { + requestCustomLaunchTemplate_customLaunchTemplate_Version = cmdletContext.CustomLaunchTemplate_Version; + } + if (requestCustomLaunchTemplate_customLaunchTemplate_Version != null) + { + request.CustomLaunchTemplate.Version = requestCustomLaunchTemplate_customLaunchTemplate_Version; + requestCustomLaunchTemplateIsNull = false; + } + // determine if request.CustomLaunchTemplate should be set to null + if (requestCustomLaunchTemplateIsNull) + { + request.CustomLaunchTemplate = null; + } + if (cmdletContext.IamInstanceProfileArn != null) + { + request.IamInstanceProfileArn = cmdletContext.IamInstanceProfileArn; + } + if (cmdletContext.PurchaseOption != null) + { + request.PurchaseOption = cmdletContext.PurchaseOption; + } + + // populate ScalingConfiguration + var requestScalingConfigurationIsNull = true; + request.ScalingConfiguration = new Amazon.PCS.Model.ScalingConfigurationRequest(); + System.Int32? requestScalingConfiguration_scalingConfiguration_MaxInstanceCount = null; + if (cmdletContext.ScalingConfiguration_MaxInstanceCount != null) + { + requestScalingConfiguration_scalingConfiguration_MaxInstanceCount = cmdletContext.ScalingConfiguration_MaxInstanceCount.Value; + } + if (requestScalingConfiguration_scalingConfiguration_MaxInstanceCount != null) + { + request.ScalingConfiguration.MaxInstanceCount = requestScalingConfiguration_scalingConfiguration_MaxInstanceCount.Value; + requestScalingConfigurationIsNull = false; + } + System.Int32? requestScalingConfiguration_scalingConfiguration_MinInstanceCount = null; + if (cmdletContext.ScalingConfiguration_MinInstanceCount != null) + { + requestScalingConfiguration_scalingConfiguration_MinInstanceCount = cmdletContext.ScalingConfiguration_MinInstanceCount.Value; + } + if (requestScalingConfiguration_scalingConfiguration_MinInstanceCount != null) + { + request.ScalingConfiguration.MinInstanceCount = requestScalingConfiguration_scalingConfiguration_MinInstanceCount.Value; + requestScalingConfigurationIsNull = false; + } + // determine if request.ScalingConfiguration should be set to null + if (requestScalingConfigurationIsNull) + { + request.ScalingConfiguration = null; + } + + // populate SlurmConfiguration + var requestSlurmConfigurationIsNull = true; + request.SlurmConfiguration = new Amazon.PCS.Model.UpdateComputeNodeGroupSlurmConfigurationRequest(); + List requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting = null; + if (cmdletContext.SlurmConfiguration_SlurmCustomSetting != null) + { + requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting = cmdletContext.SlurmConfiguration_SlurmCustomSetting; + } + if (requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting != null) + { + request.SlurmConfiguration.SlurmCustomSettings = requestSlurmConfiguration_slurmConfiguration_SlurmCustomSetting; + requestSlurmConfigurationIsNull = false; + } + // determine if request.SlurmConfiguration should be set to null + if (requestSlurmConfigurationIsNull) + { + request.SlurmConfiguration = null; + } + + // populate SpotOptions + var requestSpotOptionsIsNull = true; + request.SpotOptions = new Amazon.PCS.Model.SpotOptions(); + Amazon.PCS.SpotAllocationStrategy requestSpotOptions_spotOptions_AllocationStrategy = null; + if (cmdletContext.SpotOptions_AllocationStrategy != null) + { + requestSpotOptions_spotOptions_AllocationStrategy = cmdletContext.SpotOptions_AllocationStrategy; + } + if (requestSpotOptions_spotOptions_AllocationStrategy != null) + { + request.SpotOptions.AllocationStrategy = requestSpotOptions_spotOptions_AllocationStrategy; + requestSpotOptionsIsNull = false; + } + // determine if request.SpotOptions should be set to null + if (requestSpotOptionsIsNull) + { + request.SpotOptions = null; + } + if (cmdletContext.SubnetId != null) + { + request.SubnetIds = cmdletContext.SubnetId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.UpdateComputeNodeGroupResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.UpdateComputeNodeGroupRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "UpdateComputeNodeGroup"); + try + { + #if DESKTOP + return client.UpdateComputeNodeGroup(request); + #elif CORECLR + return client.UpdateComputeNodeGroupAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AmiId { get; set; } + public System.String ClientToken { get; set; } + public System.String ClusterIdentifier { get; set; } + public System.String ComputeNodeGroupIdentifier { get; set; } + public System.String CustomLaunchTemplate_Id { get; set; } + public System.String CustomLaunchTemplate_Version { get; set; } + public System.String IamInstanceProfileArn { get; set; } + public Amazon.PCS.PurchaseOption PurchaseOption { get; set; } + public System.Int32? ScalingConfiguration_MaxInstanceCount { get; set; } + public System.Int32? ScalingConfiguration_MinInstanceCount { get; set; } + public List SlurmConfiguration_SlurmCustomSetting { get; set; } + public Amazon.PCS.SpotAllocationStrategy SpotOptions_AllocationStrategy { get; set; } + public List SubnetId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ComputeNodeGroup; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PCS/Basic/Update-PCSQueue-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Update-PCSQueue-Cmdlet.cs new file mode 100644 index 0000000000..dd3f681523 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PCS/Basic/Update-PCSQueue-Cmdlet.cs @@ -0,0 +1,290 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PCS; +using Amazon.PCS.Model; + +namespace Amazon.PowerShell.Cmdlets.PCS +{ + /// + /// Updates the compute node group configuration of a queue. Use this API to change the + /// compute node groups that the queue can send jobs to. + /// + [Cmdlet("Update", "PCSQueue", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PCS.Model.Queue")] + [AWSCmdlet("Calls the AWS Parallel Computing Service UpdateQueue API operation.", Operation = new[] {"UpdateQueue"}, SelectReturnType = typeof(Amazon.PCS.Model.UpdateQueueResponse))] + [AWSCmdletOutput("Amazon.PCS.Model.Queue or Amazon.PCS.Model.UpdateQueueResponse", + "This cmdlet returns an Amazon.PCS.Model.Queue object.", + "The service call response (type Amazon.PCS.Model.UpdateQueueResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdatePCSQueueCmdlet : AmazonPCSClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ClusterIdentifier + /// + /// + /// The name or ID of the cluster of the queue. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ClusterIdentifier { get; set; } + #endregion + + #region Parameter ComputeNodeGroupConfiguration + /// + /// + /// The list of compute node group configurations to associate with the queue. Queues + /// assign jobs to associated compute node groups. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("ComputeNodeGroupConfigurations")] + public Amazon.PCS.Model.ComputeNodeGroupConfiguration[] ComputeNodeGroupConfiguration { get; set; } + #endregion + + #region Parameter QueueIdentifier + /// + /// + /// The name or ID of the queue. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String QueueIdentifier { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of + /// the request. Idempotency ensures that an API request completes only once. With an + /// idempotent request, if the original request completes successfully, the subsequent + /// retries with the same client token return the result from the original successful + /// request and they have no additional effect. If you don't specify a client token, the + /// CLI and SDK automatically generate 1 for you. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ClientToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Queue'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PCS.Model.UpdateQueueResponse). + /// Specifying the name of a property of type Amazon.PCS.Model.UpdateQueueResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Queue"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the QueueIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^QueueIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^QueueIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.QueueIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-PCSQueue (UpdateQueue)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.QueueIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ClientToken = this.ClientToken; + context.ClusterIdentifier = this.ClusterIdentifier; + #if MODULAR + if (this.ClusterIdentifier == null && ParameterWasBound(nameof(this.ClusterIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ClusterIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.ComputeNodeGroupConfiguration != null) + { + context.ComputeNodeGroupConfiguration = new List(this.ComputeNodeGroupConfiguration); + } + context.QueueIdentifier = this.QueueIdentifier; + #if MODULAR + if (this.QueueIdentifier == null && ParameterWasBound(nameof(this.QueueIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter QueueIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PCS.Model.UpdateQueueRequest(); + + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.ClusterIdentifier != null) + { + request.ClusterIdentifier = cmdletContext.ClusterIdentifier; + } + if (cmdletContext.ComputeNodeGroupConfiguration != null) + { + request.ComputeNodeGroupConfigurations = cmdletContext.ComputeNodeGroupConfiguration; + } + if (cmdletContext.QueueIdentifier != null) + { + request.QueueIdentifier = cmdletContext.QueueIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PCS.Model.UpdateQueueResponse CallAWSServiceOperation(IAmazonPCS client, Amazon.PCS.Model.UpdateQueueRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Parallel Computing Service", "UpdateQueue"); + try + { + #if DESKTOP + return client.UpdateQueue(request); + #elif CORECLR + return client.UpdateQueueAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ClientToken { get; set; } + public System.String ClusterIdentifier { get; set; } + public List ComputeNodeGroupConfiguration { get; set; } + public System.String QueueIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Queue; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PI/AmazonPIClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PI/AmazonPIClientCmdlet.cs index 9b84ae8ed7..4ed4c4148d 100644 --- a/modules/AWSPowerShell/Cmdlets/PI/AmazonPIClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PI/AmazonPIClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPI CreateClient(AWSCredentials credentials, RegionEndpoint regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPIConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Panorama/AmazonPanoramaClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Panorama/AmazonPanoramaClientCmdlet.cs index 6df4b5e0d0..09c7106548 100644 --- a/modules/AWSPowerShell/Cmdlets/Panorama/AmazonPanoramaClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Panorama/AmazonPanoramaClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPanorama CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPanoramaConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PaymentCryptography/AmazonPaymentCryptographyClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PaymentCryptography/AmazonPaymentCryptographyClientCmdlet.cs index 814e7b387c..edfcd48f05 100644 --- a/modules/AWSPowerShell/Cmdlets/PaymentCryptography/AmazonPaymentCryptographyClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PaymentCryptography/AmazonPaymentCryptographyClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPaymentCryptography CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPaymentCryptographyConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PaymentCryptographyData/AmazonPaymentCryptographyDataClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PaymentCryptographyData/AmazonPaymentCryptographyDataClientCmdlet.cs index 8f048993e9..f32742c970 100644 --- a/modules/AWSPowerShell/Cmdlets/PaymentCryptographyData/AmazonPaymentCryptographyDataClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PaymentCryptographyData/AmazonPaymentCryptographyDataClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPaymentCryptographyData CreateClient(AWSCredentials credentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPaymentCryptographyDataConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PcaConnectorAd/AmazonPcaConnectorAdClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PcaConnectorAd/AmazonPcaConnectorAdClientCmdlet.cs index 727f557164..c4aea25dfb 100644 --- a/modules/AWSPowerShell/Cmdlets/PcaConnectorAd/AmazonPcaConnectorAdClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PcaConnectorAd/AmazonPcaConnectorAdClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPcaConnectorAd CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPcaConnectorAdConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PcaConnectorScep/AmazonPcaConnectorScepClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PcaConnectorScep/AmazonPcaConnectorScepClientCmdlet.cs index 0d2669cc40..626b13ff87 100644 --- a/modules/AWSPowerShell/Cmdlets/PcaConnectorScep/AmazonPcaConnectorScepClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PcaConnectorScep/AmazonPcaConnectorScepClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPcaConnectorScep CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPcaConnectorScepConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.Completers.psm1 index db6dccee5b..0b8fa85433 100644 --- a/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.Completers.psm1 @@ -270,7 +270,8 @@ $PERS_SelectMap = @{ "Update-PERSCampaign", "Update-PERSDataset", "Update-PERSMetricAttribution", - "Update-PERSRecommender") + "Update-PERSRecommender", + "Update-PERSSolution") } _awsArgumentCompleterRegistration $PERS_SelectCompleters $PERS_SelectMap diff --git a/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.psd1 b/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.psd1 index e19803e905..73228f58be 100644 --- a/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.psd1 +++ b/modules/AWSPowerShell/Cmdlets/Personalize/AWS.Tools.Personalize.psd1 @@ -155,7 +155,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Update-PERSCampaign', 'Update-PERSDataset', 'Update-PERSMetricAttribution', - 'Update-PERSRecommender') + 'Update-PERSRecommender', + 'Update-PERSSolution') # Variables to export from this module VariablesToExport = '*' diff --git a/modules/AWSPowerShell/Cmdlets/Personalize/AmazonPersonalizeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Personalize/AmazonPersonalizeClientCmdlet.cs index e69b23284d..6627cce06b 100644 --- a/modules/AWSPowerShell/Cmdlets/Personalize/AmazonPersonalizeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Personalize/AmazonPersonalizeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPersonalize CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPersonalizeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Personalize/Basic/New-PERSSolution-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Personalize/Basic/New-PERSSolution-Cmdlet.cs index 4d2c83c165..3b14308c8e 100644 --- a/modules/AWSPowerShell/Cmdlets/Personalize/Basic/New-PERSSolution-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Personalize/Basic/New-PERSSolution-Cmdlet.cs @@ -29,12 +29,11 @@ namespace Amazon.PowerShell.Cmdlets.PERS { /// /// - /// After you create a solution, you can’t change its configuration. By default, all new - /// solutions use automatic training. With automatic training, you incur training costs - /// while your solution is active. You can't stop automatic training for a solution. To - /// avoid unnecessary costs, make sure to delete the solution when you are finished. For - /// information about training costs, see Amazon - /// Personalize pricing. + /// By default, all new solutions use automatic training. With automatic training, you + /// incur training costs while your solution is active. To avoid unnecessary costs, when + /// you are finished you can update + /// the solution to turn off automatic training. For information about training costs, + /// see Amazon Personalize pricing. /// /// Creates the configuration for training a model (creating a solution version). This /// configuration includes the recipe to use for model training and optional training @@ -44,9 +43,9 @@ namespace Amazon.PowerShell.Cmdlets.PERS /// /// By default, new solutions use automatic training to create solution versions every /// 7 days. You can change the training frequency. Automatic solution version creation - /// starts one hour after the solution is ACTIVE. If you manually create a solution version - /// within the hour, the solution skips the first automatic training. For more information, - /// see Configuring + /// starts within one hour after the solution is ACTIVE. If you manually create a solution + /// version within the hour, the solution skips the first automatic training. For more + /// information, see Configuring /// automatic training. /// /// To turn off automatic training, set performAutoTraining to false. If you turn @@ -75,7 +74,7 @@ namespace Amazon.PowerShell.Cmdlets.PERS ///
  • /// To get the status of the solution, call DescribeSolution. /// If you use manual training, the status must be ACTIVE before you call CreateSolutionVersion. - /// Related APIs + ///
    Related APIs ///
    [Cmdlet("New", "PERSSolution", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("System.String")] @@ -324,9 +323,9 @@ public partial class NewPERSSolutionCmdlet : AmazonPersonalizeClientCmdlet, IExe /// versions every 7 days. You can change the training frequency by specifying a schedulingExpression /// in the AutoTrainingConfig as part of solution configuration. For more information /// about automatic training, see Configuring - /// automatic training.
    Automatic solution version creation starts one hour after the solution is ACTIVE. - /// If you manually create a solution version within the hour, the solution skips the - /// first automatic training. After training starts, you can get the solution version's Amazon Resource Name (ARN) + /// automatic training. Automatic solution version creation starts within one hour after the solution is + /// ACTIVE. If you manually create a solution version within the hour, the solution skips + /// the first automatic training. After training starts, you can get the solution version's Amazon Resource Name (ARN) /// with the ListSolutionVersions /// API operation. To get its status, use the DescribeSolutionVersion. /// diff --git a/modules/AWSPowerShell/Cmdlets/Personalize/Basic/Update-PERSSolution-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Personalize/Basic/Update-PERSSolution-Cmdlet.cs new file mode 100644 index 0000000000..d321944936 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/Personalize/Basic/Update-PERSSolution-Cmdlet.cs @@ -0,0 +1,309 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.Personalize; +using Amazon.Personalize.Model; + +namespace Amazon.PowerShell.Cmdlets.PERS +{ + /// + /// Updates an Amazon Personalize solution to use a different automatic training configuration. + /// When you update a solution, you can change whether the solution uses automatic training, + /// and you can change the training frequency. For more information about updating a solution, + /// see Updating + /// a solution. + /// + /// + /// + /// A solution update can be in one of the following states: + /// + /// CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED + /// + /// To get the status of a solution update, call the DescribeSolution + /// API operation and find the status in the latestSolutionUpdate. + /// + /// + [Cmdlet("Update", "PERSSolution", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Personalize UpdateSolution API operation.", Operation = new[] {"UpdateSolution"}, SelectReturnType = typeof(Amazon.Personalize.Model.UpdateSolutionResponse))] + [AWSCmdletOutput("System.String or Amazon.Personalize.Model.UpdateSolutionResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.Personalize.Model.UpdateSolutionResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdatePERSSolutionCmdlet : AmazonPersonalizeClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter PerformAutoTraining + /// + /// + /// Whether the solution uses automatic training to create new solution versions (trained + /// models). You can change the training frequency by specifying a schedulingExpression + /// in the AutoTrainingConfig as part of solution configuration. If you turn on automatic training, the first automatic training starts within one + /// hour after the solution update completes. If you manually create a solution version + /// within the hour, the solution skips the first automatic training. For more information + /// about automatic training, see Configuring + /// automatic training. After training starts, you can get the solution version's Amazon Resource Name (ARN) + /// with the ListSolutionVersions + /// API operation. To get its status, use the DescribeSolutionVersion. + /// + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? PerformAutoTraining { get; set; } + #endregion + + #region Parameter AutoTrainingConfig_SchedulingExpression + /// + /// + /// Specifies how often to automatically train new solution versions. Specify a rate expression + /// in rate(valueunit) format. For value, specify a number between 1 and + /// 30. For unit, specify day or days. For example, to automatically create + /// a new solution version every 5 days, specify rate(5 days). The default is every + /// 7 days.For more information about auto training, see Creating + /// and configuring a solution. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SolutionUpdateConfig_AutoTrainingConfig_SchedulingExpression")] + public System.String AutoTrainingConfig_SchedulingExpression { get; set; } + #endregion + + #region Parameter SolutionArn + /// + /// + /// The Amazon Resource Name (ARN) of the solution to update. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String SolutionArn { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'SolutionArn'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.Personalize.Model.UpdateSolutionResponse). + /// Specifying the name of a property of type Amazon.Personalize.Model.UpdateSolutionResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "SolutionArn"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the SolutionArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^SolutionArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^SolutionArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.SolutionArn), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-PERSSolution (UpdateSolution)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.SolutionArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.PerformAutoTraining = this.PerformAutoTraining; + context.SolutionArn = this.SolutionArn; + #if MODULAR + if (this.SolutionArn == null && ParameterWasBound(nameof(this.SolutionArn))) + { + WriteWarning("You are passing $null as a value for parameter SolutionArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.AutoTrainingConfig_SchedulingExpression = this.AutoTrainingConfig_SchedulingExpression; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.Personalize.Model.UpdateSolutionRequest(); + + if (cmdletContext.PerformAutoTraining != null) + { + request.PerformAutoTraining = cmdletContext.PerformAutoTraining.Value; + } + if (cmdletContext.SolutionArn != null) + { + request.SolutionArn = cmdletContext.SolutionArn; + } + + // populate SolutionUpdateConfig + var requestSolutionUpdateConfigIsNull = true; + request.SolutionUpdateConfig = new Amazon.Personalize.Model.SolutionUpdateConfig(); + Amazon.Personalize.Model.AutoTrainingConfig requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig = null; + + // populate AutoTrainingConfig + var requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfigIsNull = true; + requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig = new Amazon.Personalize.Model.AutoTrainingConfig(); + System.String requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig_autoTrainingConfig_SchedulingExpression = null; + if (cmdletContext.AutoTrainingConfig_SchedulingExpression != null) + { + requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig_autoTrainingConfig_SchedulingExpression = cmdletContext.AutoTrainingConfig_SchedulingExpression; + } + if (requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig_autoTrainingConfig_SchedulingExpression != null) + { + requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig.SchedulingExpression = requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig_autoTrainingConfig_SchedulingExpression; + requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfigIsNull = false; + } + // determine if requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig should be set to null + if (requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfigIsNull) + { + requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig = null; + } + if (requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig != null) + { + request.SolutionUpdateConfig.AutoTrainingConfig = requestSolutionUpdateConfig_solutionUpdateConfig_AutoTrainingConfig; + requestSolutionUpdateConfigIsNull = false; + } + // determine if request.SolutionUpdateConfig should be set to null + if (requestSolutionUpdateConfigIsNull) + { + request.SolutionUpdateConfig = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.Personalize.Model.UpdateSolutionResponse CallAWSServiceOperation(IAmazonPersonalize client, Amazon.Personalize.Model.UpdateSolutionRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Personalize", "UpdateSolution"); + try + { + #if DESKTOP + return client.UpdateSolution(request); + #elif CORECLR + return client.UpdateSolutionAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Boolean? PerformAutoTraining { get; set; } + public System.String SolutionArn { get; set; } + public System.String AutoTrainingConfig_SchedulingExpression { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.SolutionArn; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PersonalizeEvents/AmazonPersonalizeEventsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PersonalizeEvents/AmazonPersonalizeEventsClientCmdlet.cs index 723c92f2fb..50ea2120aa 100644 --- a/modules/AWSPowerShell/Cmdlets/PersonalizeEvents/AmazonPersonalizeEventsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PersonalizeEvents/AmazonPersonalizeEventsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPersonalizeEvents CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPersonalizeEventsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PersonalizeRuntime/AmazonPersonalizeRuntimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PersonalizeRuntime/AmazonPersonalizeRuntimeClientCmdlet.cs index 1a0bdda2b3..685cd67304 100644 --- a/modules/AWSPowerShell/Cmdlets/PersonalizeRuntime/AmazonPersonalizeRuntimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PersonalizeRuntime/AmazonPersonalizeRuntimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPersonalizeRuntime CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPersonalizeRuntimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Pinpoint/AmazonPinpointClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Pinpoint/AmazonPinpointClientCmdlet.cs index 090a68e08c..b89353a213 100644 --- a/modules/AWSPowerShell/Cmdlets/Pinpoint/AmazonPinpointClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Pinpoint/AmazonPinpointClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPinpoint CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPinpointConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PinpointEmail/AmazonPinpointEmailClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointEmail/AmazonPinpointEmailClientCmdlet.cs index 7b49eddba9..602715e6a5 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointEmail/AmazonPinpointEmailClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointEmail/AmazonPinpointEmailClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPinpointEmail CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPinpointEmailConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.Completers.psm1 index 0d8490126e..6c77c6211c 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.Completers.psm1 @@ -116,6 +116,18 @@ $SMSV_Completers = { break } + # Amazon.PinpointSMSVoiceV2.Owner + { + ($_ -eq "Get-SMSVOptOutList/Owner") -Or + ($_ -eq "Get-SMSVPhoneNumber/Owner") -Or + ($_ -eq "Get-SMSVPool/Owner") -Or + ($_ -eq "Get-SMSVSenderId/Owner") + } + { + $v = "SELF","SHARED" + break + } + # Amazon.PinpointSMSVoiceV2.RequestableNumberType "New-SMSVPhoneNumber/NumberType" { @@ -159,6 +171,7 @@ $SMSV_map = @{ "MessageType"=@("New-SMSVPhoneNumber","New-SMSVPool","Send-SMSVTextMessage","Set-SMSVDefaultMessageType") "NumberCapability"=@("Get-SMSVProtectConfigurationCountryRuleSet","Update-SMSVProtectConfigurationCountryRuleSet") "NumberType"=@("New-SMSVPhoneNumber") + "Owner"=@("Get-SMSVOptOutList","Get-SMSVPhoneNumber","Get-SMSVPool","Get-SMSVSenderId") "VerificationChannel"=@("Send-SMSVDestinationNumberVerificationCode") "VoiceId"=@("Send-SMSVVoiceMessage") } @@ -239,6 +252,7 @@ $SMSV_SelectMap = @{ "Remove-SMSVRegistration", "Remove-SMSVRegistrationAttachment", "Remove-SMSVRegistrationFieldValue", + "Remove-SMSVResourcePolicy", "Remove-SMSVTextMessageSpendLimitOverride", "Remove-SMSVVerifiedDestinationNumber", "Remove-SMSVVoiceMessageSpendLimitOverride", @@ -265,12 +279,14 @@ $SMSV_SelectMap = @{ "Unregister-SMSVProtectConfiguration", "Close-SMSVRegistrationVersion", "Get-SMSVProtectConfigurationCountryRuleSet", + "Get-SMSVResourcePolicy", "Get-SMSVPoolOriginationIdentityList", "Get-SMSVRegistrationAssociationList", "Get-SMSVResourceTagList", "Set-SMSVKeyword", "Set-SMSVOptedOutNumber", "Set-SMSVRegistrationFieldValue", + "Write-SMSVResourcePolicy", "Remove-SMSVPhoneNumber", "Remove-SMSVSenderId", "New-SMSVPhoneNumber", diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.psd1 b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.psd1 index 98132d7189..957a2b3573 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.psd1 +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AWS.Tools.PinpointSMSVoiceV2.psd1 @@ -108,6 +108,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-SMSVRegistrationSectionDefinition', 'Get-SMSVRegistrationTypeDefinition', 'Get-SMSVRegistrationVersion', + 'Get-SMSVResourcePolicy', 'Get-SMSVResourceTagList', 'Get-SMSVSenderId', 'Get-SMSVSpendLimit', @@ -140,6 +141,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Remove-SMSVRegistration', 'Remove-SMSVRegistrationAttachment', 'Remove-SMSVRegistrationFieldValue', + 'Remove-SMSVResourcePolicy', 'Remove-SMSVResourceTag', 'Remove-SMSVSenderId', 'Remove-SMSVTextMessageSpendLimitOverride', @@ -167,7 +169,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Update-SMSVPool', 'Update-SMSVProtectConfiguration', 'Update-SMSVProtectConfigurationCountryRuleSet', - 'Update-SMSVSenderId') + 'Update-SMSVSenderId', + 'Write-SMSVResourcePolicy') # Variables to export from this module VariablesToExport = '*' diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AmazonPinpointSMSVoiceV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AmazonPinpointSMSVoiceV2ClientCmdlet.cs index e12fb712a3..e3a8ced4ee 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AmazonPinpointSMSVoiceV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/AmazonPinpointSMSVoiceV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPinpointSMSVoiceV2 CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPinpointSMSVoiceV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVKeyword-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVKeyword-Cmdlet.cs index 11b98e54cc..82a9c74756 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVKeyword-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVKeyword-Cmdlet.cs @@ -81,7 +81,8 @@ public partial class GetSMSVKeywordCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet /// The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId /// or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId /// and PhoneNumberArn while DescribeSenderIds can be used to get the values for - /// SenderId and SenderIdArn. + /// SenderId and SenderIdArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// ///
    #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptOutList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptOutList-Cmdlet.cs index 48b18c237d..dd90421764 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptOutList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptOutList-Cmdlet.cs @@ -55,7 +55,8 @@ public partial class GetSMSVOptOutListCmdlet : AmazonPinpointSMSVoiceV2ClientCmd /// /// /// The OptOutLists to show the details of. This is an array of strings that can be either - /// the OptOutListName or OptOutListArn. + /// the OptOutListName or OptOutListArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -89,6 +90,19 @@ public partial class GetSMSVOptOutListCmdlet : AmazonPinpointSMSVoiceV2ClientCmd public System.String NextToken { get; set; } #endregion + #region Parameter Owner + /// + /// + /// Use SELF to filter the list of Opt-Out List to ones your account owns or use + /// SHARED to filter on Opt-Out List shared with your account. The Owner + /// and OptOutListNames parameters can't be used at the same time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PinpointSMSVoiceV2.Owner")] + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. @@ -131,6 +145,7 @@ protected override void ProcessRecord() { context.OptOutListName = new List(this.OptOutListName); } + context.Owner = this.Owner; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -157,6 +172,10 @@ public object Execute(ExecutorContext context) { request.OptOutListNames = cmdletContext.OptOutListName; } + if (cmdletContext.Owner != null) + { + request.Owner = cmdletContext.Owner; + } // Initialize loop variant and commence piping var _nextToken = cmdletContext.NextToken; @@ -245,6 +264,7 @@ internal partial class CmdletContext : ExecutorContext public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } public List OptOutListName { get; set; } + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; } diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptedOutNumber-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptedOutNumber-Cmdlet.cs index 0d34243c06..ae638c9a47 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptedOutNumber-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVOptedOutNumber-Cmdlet.cs @@ -79,7 +79,8 @@ public partial class GetSMSVOptedOutNumberCmdlet : AmazonPinpointSMSVoiceV2Clien /// /// /// The OptOutListName or OptOutListArn of the OptOutList. You can use DescribeOptOutLists - /// to find the values for OptOutListName and OptOutListArn. + /// to find the values for OptOutListName and OptOutListArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPhoneNumber-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPhoneNumber-Cmdlet.cs index 6797e136d0..da174ecbbc 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPhoneNumber-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPhoneNumber-Cmdlet.cs @@ -67,7 +67,8 @@ public partial class GetSMSVPhoneNumberCmdlet : AmazonPinpointSMSVoiceV2ClientCm /// /// /// The unique identifier of phone numbers to find information about. This is an array - /// of strings that can be either the PhoneNumberId or PhoneNumberArn. + /// of strings that can be either the PhoneNumberId or PhoneNumberArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -101,6 +102,19 @@ public partial class GetSMSVPhoneNumberCmdlet : AmazonPinpointSMSVoiceV2ClientCm public System.String NextToken { get; set; } #endregion + #region Parameter Owner + /// + /// + /// Use SELF to filter the list of phone numbers to ones your account owns or use + /// SHARED to filter on phone numbers shared with your account. The Owner + /// and PhoneNumberIds parameters can't be used at the same time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PinpointSMSVoiceV2.Owner")] + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. @@ -143,6 +157,7 @@ protected override void ProcessRecord() } context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; + context.Owner = this.Owner; if (this.PhoneNumberId != null) { context.PhoneNumberId = new List(this.PhoneNumberId); @@ -173,6 +188,10 @@ public object Execute(ExecutorContext context) { request.MaxResults = cmdletContext.MaxResult.Value; } + if (cmdletContext.Owner != null) + { + request.Owner = cmdletContext.Owner; + } if (cmdletContext.PhoneNumberId != null) { request.PhoneNumberIds = cmdletContext.PhoneNumberId; @@ -265,6 +284,7 @@ internal partial class CmdletContext : ExecutorContext public List Filter { get; set; } public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } public List PhoneNumberId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPool-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPool-Cmdlet.cs index 7fce9b1472..4c084db072 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPool-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPool-Cmdlet.cs @@ -70,7 +70,8 @@ public partial class GetSMSVPoolCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet, I /// /// /// The unique identifier of pools to find. This is an array of strings that can be either - /// the PoolId or PoolArn. + /// the PoolId or PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -104,6 +105,19 @@ public partial class GetSMSVPoolCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet, I public System.String NextToken { get; set; } #endregion + #region Parameter Owner + /// + /// + /// Use SELF to filter the list of Pools to ones your account owns or use SHARED + /// to filter on Pools shared with your account. The Owner and PoolIds parameters + /// can't be used at the same time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PinpointSMSVoiceV2.Owner")] + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. @@ -146,6 +160,7 @@ protected override void ProcessRecord() } context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; + context.Owner = this.Owner; if (this.PoolId != null) { context.PoolId = new List(this.PoolId); @@ -176,6 +191,10 @@ public object Execute(ExecutorContext context) { request.MaxResults = cmdletContext.MaxResult.Value; } + if (cmdletContext.Owner != null) + { + request.Owner = cmdletContext.Owner; + } if (cmdletContext.PoolId != null) { request.PoolIds = cmdletContext.PoolId; @@ -268,6 +287,7 @@ internal partial class CmdletContext : ExecutorContext public List Filter { get; set; } public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } public List PoolId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPoolOriginationIdentityList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPoolOriginationIdentityList-Cmdlet.cs index ba32867069..fdfafc0472 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPoolOriginationIdentityList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVPoolOriginationIdentityList-Cmdlet.cs @@ -61,7 +61,8 @@ public partial class GetSMSVPoolOriginationIdentityListCmdlet : AmazonPinpointSM #region Parameter PoolId /// /// - /// The unique identifier for the pool. This value can be either the PoolId or PoolArn. + /// The unique identifier for the pool. This value can be either the PoolId or PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVResourcePolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVResourcePolicy-Cmdlet.cs new file mode 100644 index 0000000000..0ac45983c7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVResourcePolicy-Cmdlet.cs @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PinpointSMSVoiceV2; +using Amazon.PinpointSMSVoiceV2.Model; + +namespace Amazon.PowerShell.Cmdlets.SMSV +{ + /// + /// Retrieves the JSON text of the resource-based policy document attached to the AWS + /// End User Messaging SMS and Voice resource. A shared resource can be a Pool, Opt-out + /// list, Sender Id, or Phone number. + /// + [Cmdlet("Get", "SMSVResourcePolicy")] + [OutputType("Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyResponse")] + [AWSCmdlet("Calls the Amazon Pinpoint SMS Voice V2 GetResourcePolicy API operation.", Operation = new[] {"GetResourcePolicy"}, SelectReturnType = typeof(Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyResponse))] + [AWSCmdletOutput("Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyResponse", + "This cmdlet returns an Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetSMSVResourcePolicyCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ResourceArn + /// + /// + /// The Amazon Resource Name (ARN) of the AWS End User Messaging SMS and Voice resource + /// attached to the resource-based policy. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ResourceArn { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyResponse). + /// Specifying the name of a property of type Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ResourceArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ResourceArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ResourceArn = this.ResourceArn; + #if MODULAR + if (this.ResourceArn == null && ParameterWasBound(nameof(this.ResourceArn))) + { + WriteWarning("You are passing $null as a value for parameter ResourceArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyRequest(); + + if (cmdletContext.ResourceArn != null) + { + request.ResourceArn = cmdletContext.ResourceArn; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyResponse CallAWSServiceOperation(IAmazonPinpointSMSVoiceV2 client, Amazon.PinpointSMSVoiceV2.Model.GetResourcePolicyRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Pinpoint SMS Voice V2", "GetResourcePolicy"); + try + { + #if DESKTOP + return client.GetResourcePolicy(request); + #elif CORECLR + return client.GetResourcePolicyAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ResourceArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVSenderId-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVSenderId-Cmdlet.cs index 5d1880763f..736840e0b8 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVSenderId-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Get-SMSVSenderId-Cmdlet.cs @@ -66,7 +66,8 @@ public partial class GetSMSVSenderIdCmdlet : AmazonPinpointSMSVoiceV2ClientCmdle #region Parameter SenderId /// /// - /// An array of SenderIdAndCountry objects to search for. + /// An array of SenderIdAndCountry objects to search for.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -100,6 +101,19 @@ public partial class GetSMSVSenderIdCmdlet : AmazonPinpointSMSVoiceV2ClientCmdle public System.String NextToken { get; set; } #endregion + #region Parameter Owner + /// + /// + /// Use SELF to filter the list of Sender Ids to ones your account owns or use + /// SHARED to filter on Sender Ids shared with your account. The Owner and + /// SenderIds parameters can't be used at the same time. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PinpointSMSVoiceV2.Owner")] + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. @@ -142,6 +156,7 @@ protected override void ProcessRecord() } context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; + context.Owner = this.Owner; if (this.SenderId != null) { context.SenderId = new List(this.SenderId); @@ -172,6 +187,10 @@ public object Execute(ExecutorContext context) { request.MaxResults = cmdletContext.MaxResult.Value; } + if (cmdletContext.Owner != null) + { + request.Owner = cmdletContext.Owner; + } if (cmdletContext.SenderId != null) { request.SenderIds = cmdletContext.SenderId; @@ -264,6 +283,7 @@ internal partial class CmdletContext : ExecutorContext public List Filter { get; set; } public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } + public Amazon.PinpointSMSVoiceV2.Owner Owner { get; set; } public List SenderId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPhoneNumber-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPhoneNumber-Cmdlet.cs index d1ce8f18fb..e32b92182f 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPhoneNumber-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPhoneNumber-Cmdlet.cs @@ -128,7 +128,8 @@ public partial class NewSMSVPhoneNumberCmdlet : AmazonPinpointSMSVoiceV2ClientCm /// /// /// The name of the OptOutList to associate with the phone number. You can use the OptOutListName - /// or OptOutListArn. + /// or OptOutListArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -138,7 +139,8 @@ public partial class NewSMSVPhoneNumberCmdlet : AmazonPinpointSMSVoiceV2ClientCm #region Parameter PoolId /// /// - /// The pool to associated with the phone number. You can use the PoolId or PoolArn. + /// The pool to associated with the phone number. You can use the PoolId or PoolArn. If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPool-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPool-Cmdlet.cs index cfc5040f31..d5f9b55b34 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPool-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/New-SMSVPool-Cmdlet.cs @@ -109,7 +109,8 @@ public partial class NewSMSVPoolCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet, I /// or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId /// and PhoneNumberArn while DescribeSenderIds can be used to get the values for /// SenderId and SenderIdArn.After the pool is created you can add more origination identities to the pool by using - /// AssociateOriginationIdentity. + /// AssociateOriginationIdentity.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Register-SMSVOriginationIdentity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Register-SMSVOriginationIdentity-Cmdlet.cs index 303e7db6f6..6e75bf450f 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Register-SMSVOriginationIdentity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Register-SMSVOriginationIdentity-Cmdlet.cs @@ -74,7 +74,8 @@ public partial class RegisterSMSVOriginationIdentityCmdlet : AmazonPinpointSMSVo /// The origination identity to use, such as PhoneNumberId, PhoneNumberArn, SenderId, /// or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId /// and PhoneNumberArn, while DescribeSenderIds can be used to get the values for - /// SenderId and SenderIdArn. + /// SenderId and SenderIdArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR @@ -92,7 +93,8 @@ public partial class RegisterSMSVOriginationIdentityCmdlet : AmazonPinpointSMSVo /// /// /// The pool to update with the new Identity. This value can be either the PoolId or PoolArn, - /// and you can find these values using DescribePools. + /// and you can find these values using DescribePools.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVKeyword-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVKeyword-Cmdlet.cs index ddb7bfd186..1a22d3b5f3 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVKeyword-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVKeyword-Cmdlet.cs @@ -74,7 +74,8 @@ public partial class RemoveSMSVKeywordCmdlet : AmazonPinpointSMSVoiceV2ClientCmd /// /// The origination identity to use such as a PhoneNumberId, PhoneNumberArn, PoolId or /// PoolArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId - /// and PhoneNumberArn and DescribePools to find the values of PoolId and PoolArn. + /// and PhoneNumberArn and DescribePools to find the values of PoolId and PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptOutList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptOutList-Cmdlet.cs index 6d8ffc39ad..b4ca65e8a6 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptOutList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptOutList-Cmdlet.cs @@ -52,7 +52,8 @@ public partial class RemoveSMSVOptOutListCmdlet : AmazonPinpointSMSVoiceV2Client /// /// /// The OptOutListName or OptOutListArn of the OptOutList to delete. You can use DescribeOptOutLists - /// to find the values for OptOutListName and OptOutListArn. + /// to find the values for OptOutListName and OptOutListArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptedOutNumber-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptedOutNumber-Cmdlet.cs index 77a5d8dd4e..0182eed8c2 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptedOutNumber-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVOptedOutNumber-Cmdlet.cs @@ -70,7 +70,8 @@ public partial class RemoveSMSVOptedOutNumberCmdlet : AmazonPinpointSMSVoiceV2Cl #region Parameter OptOutListName /// /// - /// The OptOutListName or OptOutListArn to remove the phone number from. + /// The OptOutListName or OptOutListArn to remove the phone number from.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPhoneNumber-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPhoneNumber-Cmdlet.cs index a391b58c35..40fdfc88bd 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPhoneNumber-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPhoneNumber-Cmdlet.cs @@ -52,7 +52,8 @@ public partial class RemoveSMSVPhoneNumberCmdlet : AmazonPinpointSMSVoiceV2Clien /// /// /// The PhoneNumberId or PhoneNumberArn of the phone number to release. You can use DescribePhoneNumbers - /// to get the values for PhoneNumberId and PhoneNumberArn. + /// to get the values for PhoneNumberId and PhoneNumberArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPool-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPool-Cmdlet.cs index 8942ac5fb7..b4f1cf93a6 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPool-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVPool-Cmdlet.cs @@ -55,7 +55,8 @@ public partial class RemoveSMSVPoolCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet /// /// /// The PoolId or PoolArn of the pool to delete. You can use DescribePools to find - /// the values for PoolId and PoolArn . + /// the values for PoolId and PoolArn .If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVResourcePolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVResourcePolicy-Cmdlet.cs new file mode 100644 index 0000000000..c61b0c36df --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Remove-SMSVResourcePolicy-Cmdlet.cs @@ -0,0 +1,220 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PinpointSMSVoiceV2; +using Amazon.PinpointSMSVoiceV2.Model; + +namespace Amazon.PowerShell.Cmdlets.SMSV +{ + /// + /// Deletes the resource-based policy document attached to the AWS End User Messaging + /// SMS and Voice resource. A shared resource can be a Pool, Opt-out list, Sender Id, + /// or Phone number. + /// + [Cmdlet("Remove", "SMSVResourcePolicy", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyResponse")] + [AWSCmdlet("Calls the Amazon Pinpoint SMS Voice V2 DeleteResourcePolicy API operation.", Operation = new[] {"DeleteResourcePolicy"}, SelectReturnType = typeof(Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyResponse))] + [AWSCmdletOutput("Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyResponse", + "This cmdlet returns an Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveSMSVResourcePolicyCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter ResourceArn + /// + /// + /// The Amazon Resource Name (ARN) of the AWS End User Messaging SMS and Voice resource + /// you're deleting the resource-based policy from. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ResourceArn { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyResponse). + /// Specifying the name of a property of type Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ResourceArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ResourceArn), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-SMSVResourcePolicy (DeleteResourcePolicy)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ResourceArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ResourceArn = this.ResourceArn; + #if MODULAR + if (this.ResourceArn == null && ParameterWasBound(nameof(this.ResourceArn))) + { + WriteWarning("You are passing $null as a value for parameter ResourceArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyRequest(); + + if (cmdletContext.ResourceArn != null) + { + request.ResourceArn = cmdletContext.ResourceArn; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyResponse CallAWSServiceOperation(IAmazonPinpointSMSVoiceV2 client, Amazon.PinpointSMSVoiceV2.Model.DeleteResourcePolicyRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Pinpoint SMS Voice V2", "DeleteResourcePolicy"); + try + { + #if DESKTOP + return client.DeleteResourcePolicy(request); + #elif CORECLR + return client.DeleteResourcePolicyAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ResourceArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVDestinationNumberVerificationCode-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVDestinationNumberVerificationCode-Cmdlet.cs index f7009cd422..f6d0631093 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVDestinationNumberVerificationCode-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVDestinationNumberVerificationCode-Cmdlet.cs @@ -96,7 +96,8 @@ public partial class SendSMSVDestinationNumberVerificationCodeCmdlet : AmazonPin /// /// /// The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, - /// PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. + /// PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVMediaMessage-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVMediaMessage-Cmdlet.cs index ec5da00286..c1f7f8dfab 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVMediaMessage-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVMediaMessage-Cmdlet.cs @@ -132,7 +132,8 @@ public partial class SendSMSVMediaMessageCmdlet : AmazonPinpointSMSVoiceV2Client /// /// /// The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, - /// PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. + /// PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVTextMessage-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVTextMessage-Cmdlet.cs index aa6e55a0cb..d323112273 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVTextMessage-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVTextMessage-Cmdlet.cs @@ -171,7 +171,8 @@ public partial class SendSMSVTextMessageCmdlet : AmazonPinpointSMSVoiceV2ClientC /// /// /// The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, - /// PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. + /// PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVVoiceMessage-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVVoiceMessage-Cmdlet.cs index a5c9cde8ba..dd4092295e 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVVoiceMessage-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Send-SMSVVoiceMessage-Cmdlet.cs @@ -128,7 +128,8 @@ public partial class SendSMSVVoiceMessageCmdlet : AmazonPinpointSMSVoiceV2Client /// /// /// The origination identity to use for the voice call. This can be the PhoneNumber, PhoneNumberId, - /// PhoneNumberArn, PoolId, or PoolArn. + /// PhoneNumberArn, PoolId, or PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVKeyword-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVKeyword-Cmdlet.cs index 2de57dfffa..0c9c01f9e5 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVKeyword-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVKeyword-Cmdlet.cs @@ -103,7 +103,8 @@ public partial class SetSMSVKeywordCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet /// The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId /// or SenderIdArn. You can use DescribePhoneNumbers get the values for PhoneNumberId /// and PhoneNumberArn while DescribeSenderIds can be used to get the values for - /// SenderId and SenderIdArn. + /// SenderId and SenderIdArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVOptedOutNumber-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVOptedOutNumber-Cmdlet.cs index b4306ad542..9a51044100 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVOptedOutNumber-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Set-SMSVOptedOutNumber-Cmdlet.cs @@ -67,7 +67,8 @@ public partial class SetSMSVOptedOutNumberCmdlet : AmazonPinpointSMSVoiceV2Clien #region Parameter OptOutListName /// /// - /// The OptOutListName or OptOutListArn to add the phone number to. + /// The OptOutListName or OptOutListArn to add the phone number to.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Unregister-SMSVOriginationIdentity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Unregister-SMSVOriginationIdentity-Cmdlet.cs index 62cef4cfd6..9e379b5baf 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Unregister-SMSVOriginationIdentity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Unregister-SMSVOriginationIdentity-Cmdlet.cs @@ -70,7 +70,8 @@ public partial class UnregisterSMSVOriginationIdentityCmdlet : AmazonPinpointSMS /// The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId /// or SenderIdArn. You can use DescribePhoneNumbers find the values for PhoneNumberId /// and PhoneNumberArn, or use DescribeSenderIds to get the values for SenderId - /// and SenderIdArn. + /// and SenderIdArn.
    If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// ///
    #if !MODULAR @@ -88,7 +89,8 @@ public partial class UnregisterSMSVOriginationIdentityCmdlet : AmazonPinpointSMS /// /// /// The unique identifier for the pool to disassociate with the origination identity. - /// This value can be either the PoolId or PoolArn. + /// This value can be either the PoolId or PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPhoneNumber-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPhoneNumber-Cmdlet.cs index 4239c244c6..53c0d3af85 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPhoneNumber-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPhoneNumber-Cmdlet.cs @@ -74,7 +74,8 @@ public partial class UpdateSMSVPhoneNumberCmdlet : AmazonPinpointSMSVoiceV2Clien /// /// /// The unique identifier of the phone number. Valid values for this field can be either - /// the PhoneNumberId or PhoneNumberArn. + /// the PhoneNumberId or PhoneNumberArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPool-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPool-Cmdlet.cs index e1513e2ffa..b74f9390a6 100644 --- a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPool-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Update-SMSVPool-Cmdlet.cs @@ -58,7 +58,8 @@ public partial class UpdateSMSVPoolCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet /// /// /// The OptOutList to associate with the pool. Valid values are either OptOutListName - /// or OptOutListArn. + /// or OptOutListArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -69,7 +70,8 @@ public partial class UpdateSMSVPoolCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet /// /// /// The unique identifier of the pool to update. Valid values are either the PoolId or - /// PoolArn. + /// PoolArn.If you are using a shared AWS End User Messaging SMS and Voice resource then you must + /// use the full Amazon Resource Name(ARN). /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Write-SMSVResourcePolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Write-SMSVResourcePolicy-Cmdlet.cs new file mode 100644 index 0000000000..4c40e6db05 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PinpointSMSVoiceV2/Basic/Write-SMSVResourcePolicy-Cmdlet.cs @@ -0,0 +1,251 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.PinpointSMSVoiceV2; +using Amazon.PinpointSMSVoiceV2.Model; + +namespace Amazon.PowerShell.Cmdlets.SMSV +{ + /// + /// Attaches a resource-based policy to a AWS End User Messaging SMS and Voice resource(phone + /// number, sender Id, phone poll, or opt-out list) that is used for sharing the resource. + /// A shared resource can be a Pool, Opt-out list, Sender Id, or Phone number. For more + /// information about resource-based policies, see Working + /// with shared resources in the AWS End User Messaging SMS User Guide. + /// + [Cmdlet("Write", "SMSVResourcePolicy", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyResponse")] + [AWSCmdlet("Calls the Amazon Pinpoint SMS Voice V2 PutResourcePolicy API operation.", Operation = new[] {"PutResourcePolicy"}, SelectReturnType = typeof(Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyResponse))] + [AWSCmdletOutput("Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyResponse", + "This cmdlet returns an Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class WriteSMSVResourcePolicyCmdlet : AmazonPinpointSMSVoiceV2ClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Policy + /// + /// + /// The JSON formatted resource-based policy to attach. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String Policy { get; set; } + #endregion + + #region Parameter ResourceArn + /// + /// + /// The Amazon Resource Name (ARN) of the AWS End User Messaging SMS and Voice resource + /// to attach the resource-based policy to. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ResourceArn { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyResponse). + /// Specifying the name of a property of type Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ResourceArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.ResourceArn), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Write-SMSVResourcePolicy (PutResourcePolicy)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ResourceArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Policy = this.Policy; + #if MODULAR + if (this.Policy == null && ParameterWasBound(nameof(this.Policy))) + { + WriteWarning("You are passing $null as a value for parameter Policy which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.ResourceArn = this.ResourceArn; + #if MODULAR + if (this.ResourceArn == null && ParameterWasBound(nameof(this.ResourceArn))) + { + WriteWarning("You are passing $null as a value for parameter ResourceArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyRequest(); + + if (cmdletContext.Policy != null) + { + request.Policy = cmdletContext.Policy; + } + if (cmdletContext.ResourceArn != null) + { + request.ResourceArn = cmdletContext.ResourceArn; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyResponse CallAWSServiceOperation(IAmazonPinpointSMSVoiceV2 client, Amazon.PinpointSMSVoiceV2.Model.PutResourcePolicyRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Pinpoint SMS Voice V2", "PutResourcePolicy"); + try + { + #if DESKTOP + return client.PutResourcePolicy(request); + #elif CORECLR + return client.PutResourcePolicyAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String Policy { get; set; } + public System.String ResourceArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/Pipes/AmazonPipesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Pipes/AmazonPipesClientCmdlet.cs index 7ab12494ac..68f6e967c7 100644 --- a/modules/AWSPowerShell/Cmdlets/Pipes/AmazonPipesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Pipes/AmazonPipesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPipes CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPipesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Pipes/Basic/New-PIPESPipe-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Pipes/Basic/New-PIPESPipe-Cmdlet.cs index bf02c15af7..b5faaa99ae 100644 --- a/modules/AWSPowerShell/Cmdlets/Pipes/Basic/New-PIPESPipe-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Pipes/Basic/New-PIPESPipe-Cmdlet.cs @@ -680,6 +680,20 @@ public partial class NewPIPESPipeCmdlet : AmazonPipesClientCmdlet, IExecutor public System.String BatchJobParameters_JobName { get; set; } #endregion + #region Parameter KmsKeyIdentifier + /// + /// + /// The identifier of the KMS customer managed key for EventBridge to use, if you choose + /// to use a customer managed key to encrypt pipe data. The identifier can be the key + /// Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.If you do not specify a customer managed key identifier, EventBridge uses an Amazon + /// Web Services owned key to encrypt pipe data.For more information, see Managing + /// keys in the Key Management Service Developer Guide. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String KmsKeyIdentifier { get; set; } + #endregion + #region Parameter EcsTaskParameters_LaunchType /// /// @@ -956,8 +970,7 @@ public partial class NewPIPESPipeCmdlet : AmazonPipesClientCmdlet, IExecutor #region Parameter S3LogDestination_OutputFormat /// /// - /// How EventBridge should format the log records. + /// How EventBridge should format the log records.EventBridge currently only supports json formatting. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -1273,8 +1286,7 @@ public partial class NewPIPESPipeCmdlet : AmazonPipesClientCmdlet, IExecutor /// /// /// Specifies the security groups associated with the stream. These security groups must - /// all be in the same VPC. You can specify as many as five security groups. If you do - /// not specify a security group, the default security group for the VPC is used. + /// all be in the same VPC. You can specify as many as five security groups. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -1761,6 +1773,7 @@ protected override void ProcessRecord() } } context.EnrichmentParameters_InputTemplate = this.EnrichmentParameters_InputTemplate; + context.KmsKeyIdentifier = this.KmsKeyIdentifier; context.CloudwatchLogsLogDestination_LogGroupArn = this.CloudwatchLogsLogDestination_LogGroupArn; context.FirehoseLogDestination_DeliveryStreamArn = this.FirehoseLogDestination_DeliveryStreamArn; if (this.LogConfiguration_IncludeExecutionData != null) @@ -2103,6 +2116,10 @@ public object Execute(ExecutorContext context) { request.EnrichmentParameters = null; } + if (cmdletContext.KmsKeyIdentifier != null) + { + request.KmsKeyIdentifier = cmdletContext.KmsKeyIdentifier; + } // populate LogConfiguration var requestLogConfigurationIsNull = true; @@ -3983,6 +4000,7 @@ internal partial class CmdletContext : ExecutorContext public List EnrichmentParameters_HttpParameters_PathParameterValues { get; set; } public Dictionary EnrichmentParameters_HttpParameters_QueryStringParameters { get; set; } public System.String EnrichmentParameters_InputTemplate { get; set; } + public System.String KmsKeyIdentifier { get; set; } public System.String CloudwatchLogsLogDestination_LogGroupArn { get; set; } public System.String FirehoseLogDestination_DeliveryStreamArn { get; set; } public List LogConfiguration_IncludeExecutionData { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/Pipes/Basic/Update-PIPESPipe-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Pipes/Basic/Update-PIPESPipe-Cmdlet.cs index 734c542c0a..8086211836 100644 --- a/modules/AWSPowerShell/Cmdlets/Pipes/Basic/Update-PIPESPipe-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Pipes/Basic/Update-PIPESPipe-Cmdlet.cs @@ -659,6 +659,22 @@ public partial class UpdatePIPESPipeCmdlet : AmazonPipesClientCmdlet, IExecutor public System.String BatchJobParameters_JobName { get; set; } #endregion + #region Parameter KmsKeyIdentifier + /// + /// + /// The identifier of the KMS customer managed key for EventBridge to use, if you choose + /// to use a customer managed key to encrypt pipe data. The identifier can be the key + /// Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.To update a pipe that is using the default Amazon Web Services owned key to use a + /// customer managed key instead, or update a pipe that is using a customer managed key + /// to use a different customer managed key, specify a customer managed key identifier.To update a pipe that is using a customer managed key to use the default Amazon Web + /// Services owned key, specify an empty string.For more information, see Managing + /// keys in the Key Management Service Developer Guide. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String KmsKeyIdentifier { get; set; } + #endregion + #region Parameter EcsTaskParameters_LaunchType /// /// @@ -935,8 +951,7 @@ public partial class UpdatePIPESPipeCmdlet : AmazonPipesClientCmdlet, IExecutor #region Parameter S3LogDestination_OutputFormat /// /// - /// How EventBridge should format the log records. + /// How EventBridge should format the log records.EventBridge currently only supports json formatting. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -1230,8 +1245,7 @@ public partial class UpdatePIPESPipeCmdlet : AmazonPipesClientCmdlet, IExecutor /// /// /// Specifies the security groups associated with the stream. These security groups must - /// all be in the same VPC. You can specify as many as five security groups. If you do - /// not specify a security group, the default security group for the VPC is used. + /// all be in the same VPC. You can specify as many as five security groups. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -1590,6 +1604,7 @@ protected override void ProcessRecord() } } context.EnrichmentParameters_InputTemplate = this.EnrichmentParameters_InputTemplate; + context.KmsKeyIdentifier = this.KmsKeyIdentifier; context.CloudwatchLogsLogDestination_LogGroupArn = this.CloudwatchLogsLogDestination_LogGroupArn; context.FirehoseLogDestination_DeliveryStreamArn = this.FirehoseLogDestination_DeliveryStreamArn; if (this.LogConfiguration_IncludeExecutionData != null) @@ -1895,6 +1910,10 @@ public object Execute(ExecutorContext context) { request.EnrichmentParameters = null; } + if (cmdletContext.KmsKeyIdentifier != null) + { + request.KmsKeyIdentifier = cmdletContext.KmsKeyIdentifier; + } // populate LogConfiguration var requestLogConfigurationIsNull = true; @@ -3637,6 +3656,7 @@ internal partial class CmdletContext : ExecutorContext public List EnrichmentParameters_HttpParameters_PathParameterValues { get; set; } public Dictionary EnrichmentParameters_HttpParameters_QueryStringParameters { get; set; } public System.String EnrichmentParameters_InputTemplate { get; set; } + public System.String KmsKeyIdentifier { get; set; } public System.String CloudwatchLogsLogDestination_LogGroupArn { get; set; } public System.String FirehoseLogDestination_DeliveryStreamArn { get; set; } public List LogConfiguration_IncludeExecutionData { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/Polly/AWS.Tools.Polly.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/Polly/AWS.Tools.Polly.Completers.psm1 index 397d6ab0df..534d6d1a72 100644 --- a/modules/AWSPowerShell/Cmdlets/Polly/AWS.Tools.Polly.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/Polly/AWS.Tools.Polly.Completers.psm1 @@ -98,7 +98,7 @@ $POL_Completers = { ($_ -eq "Start-POLSpeechSynthesisTask/LanguageCode") } { - $v = "ar-AE","arb","ca-ES","cmn-CN","cy-GB","da-DK","de-AT","de-DE","en-AU","en-GB","en-GB-WLS","en-IE","en-IN","en-NZ","en-US","en-ZA","es-ES","es-MX","es-US","fi-FI","fr-BE","fr-CA","fr-FR","hi-IN","is-IS","it-IT","ja-JP","ko-KR","nb-NO","nl-BE","nl-NL","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sv-SE","tr-TR","yue-CN" + $v = "ar-AE","arb","ca-ES","cmn-CN","cs-CZ","cy-GB","da-DK","de-AT","de-CH","de-DE","en-AU","en-GB","en-GB-WLS","en-IE","en-IN","en-NZ","en-US","en-ZA","es-ES","es-MX","es-US","fi-FI","fr-BE","fr-CA","fr-FR","hi-IN","is-IS","it-IT","ja-JP","ko-KR","nb-NO","nl-BE","nl-NL","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sv-SE","tr-TR","yue-CN" break } @@ -135,7 +135,7 @@ $POL_Completers = { ($_ -eq "Start-POLSpeechSynthesisTask/VoiceId") } { - $v = "Aditi","Adriano","Amy","Andres","Aria","Arlet","Arthur","Astrid","Ayanda","Bianca","Brian","Burcu","Camila","Carla","Carmen","Celine","Chantal","Conchita","Cristiano","Daniel","Danielle","Dora","Elin","Emma","Enrique","Ewa","Filiz","Gabrielle","Geraint","Giorgio","Gregory","Gwyneth","Hala","Hannah","Hans","Hiujin","Ida","Ines","Isabelle","Ivy","Jacek","Jan","Joanna","Joey","Justin","Kajal","Karl","Kazuha","Kendra","Kevin","Kimberly","Laura","Lea","Liam","Lisa","Liv","Lotte","Lucia","Lupe","Mads","Maja","Marlene","Mathieu","Matthew","Maxim","Mia","Miguel","Mizuki","Naja","Niamh","Nicole","Ola","Olivia","Pedro","Penelope","Raveena","Remi","Ricardo","Ruben","Russell","Ruth","Salli","Seoyeon","Sergio","Sofie","Stephen","Suvi","Takumi","Tatyana","Thiago","Tomoko","Vicki","Vitoria","Zayd","Zeina","Zhiyu" + $v = "Aditi","Adriano","Amy","Andres","Aria","Arlet","Arthur","Astrid","Ayanda","Bianca","Brian","Burcu","Camila","Carla","Carmen","Celine","Chantal","Conchita","Cristiano","Daniel","Danielle","Dora","Elin","Emma","Enrique","Ewa","Filiz","Gabrielle","Geraint","Giorgio","Gregory","Gwyneth","Hala","Hannah","Hans","Hiujin","Ida","Ines","Isabelle","Ivy","Jacek","Jan","Jitka","Joanna","Joey","Justin","Kajal","Karl","Kazuha","Kendra","Kevin","Kimberly","Laura","Lea","Liam","Lisa","Liv","Lotte","Lucia","Lupe","Mads","Maja","Marlene","Mathieu","Matthew","Maxim","Mia","Miguel","Mizuki","Naja","Niamh","Nicole","Ola","Olivia","Pedro","Penelope","Raveena","Remi","Ricardo","Ruben","Russell","Ruth","Sabrina","Salli","Seoyeon","Sergio","Sofie","Stephen","Suvi","Takumi","Tatyana","Thiago","Tomoko","Vicki","Vitoria","Zayd","Zeina","Zhiyu" break } diff --git a/modules/AWSPowerShell/Cmdlets/Polly/AmazonPollyClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Polly/AmazonPollyClientCmdlet.cs index a005bd19e1..ad38b7b058 100644 --- a/modules/AWSPowerShell/Cmdlets/Polly/AmazonPollyClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Polly/AmazonPollyClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonPolly CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPollyConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Pricing/AmazonPricingClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Pricing/AmazonPricingClientCmdlet.cs index 26d0246adb..3ecf92c7fe 100644 --- a/modules/AWSPowerShell/Cmdlets/Pricing/AmazonPricingClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Pricing/AmazonPricingClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPricing CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPricingConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Private5G/AmazonPrivate5GClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Private5G/AmazonPrivate5GClientCmdlet.cs index d707425015..0d5e8ddf8b 100644 --- a/modules/AWSPowerShell/Cmdlets/Private5G/AmazonPrivate5GClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Private5G/AmazonPrivate5GClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPrivate5G CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPrivate5GConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/PrometheusService/AmazonPrometheusServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/PrometheusService/AmazonPrometheusServiceClientCmdlet.cs index 1a4febef88..8746874e53 100644 --- a/modules/AWSPowerShell/Cmdlets/PrometheusService/AmazonPrometheusServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PrometheusService/AmazonPrometheusServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonPrometheusService CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonPrometheusServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Proton/AmazonProtonClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Proton/AmazonProtonClientCmdlet.cs index b134e4c684..55e0a271ef 100644 --- a/modules/AWSPowerShell/Cmdlets/Proton/AmazonProtonClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Proton/AmazonProtonClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonProton CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonProtonConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.Completers.psm1 index bae0228011..a4b54bfe27 100644 --- a/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.Completers.psm1 @@ -178,6 +178,7 @@ $qapps_SelectMap = @{ "Add-qappsResourceTag", "Remove-qappsResourceTag", "Update-qappsLibraryItem", + "Update-qappsLibraryItemMetadata", "Update-qappsQApp", "Update-qappsQAppSession") } diff --git a/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.psd1 b/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.psd1 index f4ae106d44..38a708cedf 100644 --- a/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.psd1 +++ b/modules/AWSPowerShell/Cmdlets/QApps/AWS.Tools.QApps.psd1 @@ -107,6 +107,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Unregister-qappsLibraryItemReview', 'Unregister-qappsQAppFromUser', 'Update-qappsLibraryItem', + 'Update-qappsLibraryItemMetadata', 'Update-qappsQApp', 'Update-qappsQAppSession') diff --git a/modules/AWSPowerShell/Cmdlets/QApps/AmazonQAppsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/QApps/AmazonQAppsClientCmdlet.cs index 6a10eeb1c6..5ab92899ee 100644 --- a/modules/AWSPowerShell/Cmdlets/QApps/AmazonQAppsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QApps/AmazonQAppsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonQApps CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonQAppsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/QApps/Basic/Update-qappsLibraryItem-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/QApps/Basic/Update-qappsLibraryItem-Cmdlet.cs index 846e2335d4..3c834fddba 100644 --- a/modules/AWSPowerShell/Cmdlets/QApps/Basic/Update-qappsLibraryItem-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QApps/Basic/Update-qappsLibraryItem-Cmdlet.cs @@ -28,7 +28,7 @@ namespace Amazon.PowerShell.Cmdlets.qapps { /// - /// Updates the metadata and status of a library item for an Amazon Q App. + /// Updates the library item for an Amazon Q App. /// [Cmdlet("Update", "qappsLibraryItem", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.QApps.Model.UpdateLibraryItemResponse")] diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLDomainMetadata-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/QApps/Basic/Update-qappsLibraryItemMetadata-Cmdlet.cs similarity index 67% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLDomainMetadata-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/QApps/Basic/Update-qappsLibraryItemMetadata-Cmdlet.cs index 32cbaae9e6..319900d2f5 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLDomainMetadata-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QApps/Basic/Update-qappsLibraryItemMetadata-Cmdlet.cs @@ -22,41 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.QApps; +using Amazon.QApps.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.qapps { /// - /// Updates domain metadata, such as DisplayName.

    This operation is deprecated. + /// Updates the verification status of a library item for an Amazon Q App. ///
    - [Cmdlet("Update", "WLDomainMetadata", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [Cmdlet("Update", "qappsLibraryItemMetadata", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink UpdateDomainMetadata API operation.", Operation = new[] {"UpdateDomainMetadata"}, SelectReturnType = typeof(Amazon.WorkLink.Model.UpdateDomainMetadataResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.UpdateDomainMetadataResponse", + [AWSCmdlet("Calls the Amazon Q Apps UpdateLibraryItemMetadata API operation.", Operation = new[] {"UpdateLibraryItemMetadata"}, SelectReturnType = typeof(Amazon.QApps.Model.UpdateLibraryItemMetadataResponse))] + [AWSCmdletOutput("None or Amazon.QApps.Model.UpdateLibraryItemMetadataResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.UpdateDomainMetadataResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.QApps.Model.UpdateLibraryItemMetadataResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UpdateWLDomainMetadataCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class UpdateqappsLibraryItemMetadataCmdlet : AmazonQAppsClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DisplayName + #region Parameter InstanceId /// /// - /// The name to display. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String DisplayName { get; set; } - #endregion - - #region Parameter DomainName - /// - /// - /// The name of the domain. + /// The unique identifier of the Amazon Q Business application environment instance. /// /// #if !MODULAR @@ -67,13 +56,23 @@ public partial class UpdateWLDomainMetadataCmdlet : AmazonWorkLinkClientCmdlet, [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String DomainName { get; set; } + public System.String InstanceId { get; set; } + #endregion + + #region Parameter IsVerified + /// + /// + /// The verification status of the library item + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? IsVerified { get; set; } #endregion - #region Parameter FleetArn + #region Parameter LibraryItemId /// /// - /// The ARN of the fleet. + /// The unique identifier of the updated library item. /// /// #if !MODULAR @@ -84,13 +83,13 @@ public partial class UpdateWLDomainMetadataCmdlet : AmazonWorkLinkClientCmdlet, [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String LibraryItemId { get; set; } #endregion #region Parameter Select /// /// 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.WorkLink.Model.UpdateDomainMetadataResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.QApps.Model.UpdateLibraryItemMetadataResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -99,10 +98,10 @@ public partial class UpdateWLDomainMetadataCmdlet : AmazonWorkLinkClientCmdlet, #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the LibraryItemId parameter. + /// The -PassThru parameter is deprecated, use -Select '^LibraryItemId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^LibraryItemId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -122,8 +121,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-WLDomainMetadata (UpdateDomainMetadata)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.LibraryItemId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-qappsLibraryItemMetadata (UpdateLibraryItemMetadata)")) { return; } @@ -136,7 +135,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -145,22 +144,22 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.LibraryItemId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DisplayName = this.DisplayName; - context.DomainName = this.DomainName; + context.InstanceId = this.InstanceId; #if MODULAR - if (this.DomainName == null && ParameterWasBound(nameof(this.DomainName))) + if (this.InstanceId == null && ParameterWasBound(nameof(this.InstanceId))) { - WriteWarning("You are passing $null as a value for parameter DomainName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter InstanceId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.IsVerified = this.IsVerified; + context.LibraryItemId = this.LibraryItemId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.LibraryItemId == null && ParameterWasBound(nameof(this.LibraryItemId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter LibraryItemId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -177,19 +176,19 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.UpdateDomainMetadataRequest(); + var request = new Amazon.QApps.Model.UpdateLibraryItemMetadataRequest(); - if (cmdletContext.DisplayName != null) + if (cmdletContext.InstanceId != null) { - request.DisplayName = cmdletContext.DisplayName; + request.InstanceId = cmdletContext.InstanceId; } - if (cmdletContext.DomainName != null) + if (cmdletContext.IsVerified != null) { - request.DomainName = cmdletContext.DomainName; + request.IsVerified = cmdletContext.IsVerified.Value; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.LibraryItemId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.LibraryItemId = cmdletContext.LibraryItemId; } CmdletOutput output; @@ -224,15 +223,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.UpdateDomainMetadataResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.UpdateDomainMetadataRequest request) + private Amazon.QApps.Model.UpdateLibraryItemMetadataResponse CallAWSServiceOperation(IAmazonQApps client, Amazon.QApps.Model.UpdateLibraryItemMetadataRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "UpdateDomainMetadata"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Q Apps", "UpdateLibraryItemMetadata"); try { #if DESKTOP - return client.UpdateDomainMetadata(request); + return client.UpdateLibraryItemMetadata(request); #elif CORECLR - return client.UpdateDomainMetadataAsync(request).GetAwaiter().GetResult(); + return client.UpdateLibraryItemMetadataAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -252,10 +251,10 @@ private Amazon.WorkLink.Model.UpdateDomainMetadataResponse CallAWSServiceOperati internal partial class CmdletContext : ExecutorContext { - public System.String DisplayName { get; set; } - public System.String DomainName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = + public System.String InstanceId { get; set; } + public System.Boolean? IsVerified { get; set; } + public System.String LibraryItemId { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/QBusiness/AmazonQBusinessClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/QBusiness/AmazonQBusinessClientCmdlet.cs index 19af28f0e0..dec5eee7c4 100644 --- a/modules/AWSPowerShell/Cmdlets/QBusiness/AmazonQBusinessClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QBusiness/AmazonQBusinessClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonQBusiness CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonQBusinessConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/QConnect/AmazonQConnectClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/QConnect/AmazonQConnectClientCmdlet.cs index 861962bfdd..0550dd1d61 100644 --- a/modules/AWSPowerShell/Cmdlets/QConnect/AmazonQConnectClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QConnect/AmazonQConnectClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonQConnect CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonQConnectConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/QLDB/AmazonQLDBClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/QLDB/AmazonQLDBClientCmdlet.cs index 7b29ddfd29..e616e65177 100644 --- a/modules/AWSPowerShell/Cmdlets/QLDB/AmazonQLDBClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QLDB/AmazonQLDBClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonQLDB CreateClient(AWSCredentials credentials, RegionEndpoint re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonQLDBConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/QLDBSession/AmazonQLDBSessionClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/QLDBSession/AmazonQLDBSessionClientCmdlet.cs index cede93d67e..793da013eb 100644 --- a/modules/AWSPowerShell/Cmdlets/QLDBSession/AmazonQLDBSessionClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QLDBSession/AmazonQLDBSessionClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonQLDBSession CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonQLDBSessionConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.Completers.psm1 index bfa22b1e81..fb15478f94 100644 --- a/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.Completers.psm1 @@ -282,6 +282,13 @@ $QS_Completers = { break } + # Amazon.QuickSight.PersonalizationMode + "Update-QSQPersonalizationConfiguration/PersonalizationMode" + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.QuickSight.PurchaseMode "Update-QSSPICECapacityConfiguration/PurchaseMode" { @@ -495,6 +502,7 @@ $QS_map = @{ "Options_WeekStart"=@("New-QSAnalysis","New-QSDashboard","New-QSTemplate","Update-QSAnalysis","Update-QSDashboard","Update-QSTemplate") "PaperCanvasSizeOptions_PaperOrientation"=@("New-QSAnalysis","New-QSDashboard","New-QSTemplate","Update-QSAnalysis","Update-QSDashboard","Update-QSTemplate") "PaperCanvasSizeOptions_PaperSize"=@("New-QSAnalysis","New-QSDashboard","New-QSTemplate","Update-QSAnalysis","Update-QSDashboard","Update-QSTemplate") + "PersonalizationMode"=@("Update-QSQPersonalizationConfiguration") "PurchaseMode"=@("Update-QSSPICECapacityConfiguration") "QueryExecutionOptions_QueryExecutionMode"=@("New-QSAnalysis","New-QSTemplate","Update-QSAnalysis","Update-QSTemplate") "RefreshOnDay_DayOfWeek"=@("New-QSRefreshSchedule","Update-QSRefreshSchedule") @@ -649,6 +657,7 @@ $QS_SelectMap = @{ "Get-QSIpRestriction", "Get-QSKeyRegistration", "Get-QSNamespace", + "Get-QSQPersonalizationConfiguration", "Get-QSRefreshSchedule", "Get-QSRoleCustomPermission", "Get-QSTemplate", @@ -677,6 +686,7 @@ $QS_SelectMap = @{ "Get-QSDataSourceList", "Get-QSFolderMemberList", "Get-QSFolderList", + "Get-QSFoldersForResourceList", "Get-QSGroupMembershipList", "Get-QSGroupList", "Get-QSIAMPolicyAssignmentList", @@ -733,6 +743,7 @@ $QS_SelectMap = @{ "Update-QSIpRestriction", "Update-QSKeyRegistration", "Update-QSPublicSharingSetting", + "Update-QSQPersonalizationConfiguration", "Update-QSRefreshSchedule", "Update-QSRoleCustomPermission", "Update-QSSPICECapacityConfiguration", diff --git a/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.psd1 b/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.psd1 index 50168121c7..da5f40b571 100644 --- a/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.psd1 +++ b/modules/AWSPowerShell/Cmdlets/QuickSight/AWS.Tools.QuickSight.psd1 @@ -119,6 +119,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-QSFolderMemberList', 'Get-QSFolderPermission', 'Get-QSFolderResolvedPermission', + 'Get-QSFoldersForResourceList', 'Get-QSGroup', 'Get-QSGroupList', 'Get-QSGroupMembership', @@ -133,6 +134,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-QSKeyRegistration', 'Get-QSNamespace', 'Get-QSNamespaceList', + 'Get-QSQPersonalizationConfiguration', 'Get-QSRefreshSchedule', 'Get-QSRefreshScheduleList', 'Get-QSResourceTag', @@ -248,6 +250,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Update-QSIpRestriction', 'Update-QSKeyRegistration', 'Update-QSPublicSharingSetting', + 'Update-QSQPersonalizationConfiguration', 'Update-QSRefreshSchedule', 'Update-QSRoleCustomPermission', 'Update-QSSPICECapacityConfiguration', diff --git a/modules/AWSPowerShell/Cmdlets/QuickSight/AmazonQuickSightClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/QuickSight/AmazonQuickSightClientCmdlet.cs index e882537de4..1261e55b6e 100644 --- a/modules/AWSPowerShell/Cmdlets/QuickSight/AmazonQuickSightClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QuickSight/AmazonQuickSightClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonQuickSight CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonQuickSightConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Get-QSFoldersForResourceList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Get-QSFoldersForResourceList-Cmdlet.cs new file mode 100644 index 0000000000..83b4fefc28 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Get-QSFoldersForResourceList-Cmdlet.cs @@ -0,0 +1,302 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.QuickSight; +using Amazon.QuickSight.Model; + +namespace Amazon.PowerShell.Cmdlets.QS +{ + /// + /// List all folders that a resource is a member of.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
    + [Cmdlet("Get", "QSFoldersForResourceList")] + [OutputType("System.String")] + [AWSCmdlet("Calls the Amazon QuickSight ListFoldersForResource API operation.", Operation = new[] {"ListFoldersForResource"}, SelectReturnType = typeof(Amazon.QuickSight.Model.ListFoldersForResourceResponse))] + [AWSCmdletOutput("System.String or Amazon.QuickSight.Model.ListFoldersForResourceResponse", + "This cmdlet returns a collection of System.String objects.", + "The service call response (type Amazon.QuickSight.Model.ListFoldersForResourceResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetQSFoldersForResourceListCmdlet : AmazonQuickSightClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter AwsAccountId + /// + /// + /// The ID for the Amazon Web Services account that contains the resource. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String AwsAccountId { get; set; } + #endregion + + #region Parameter ResourceArn + /// + /// + /// The Amazon Resource Name (ARN) the resource whose folders you need to list. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ResourceArn { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be returned per request. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The token for the next set of results, or null if there are no more results. + /// + /// + ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Folders'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.QuickSight.Model.ListFoldersForResourceResponse). + /// Specifying the name of a property of type Amazon.QuickSight.Model.ListFoldersForResourceResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Folders"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ResourceArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ResourceArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AwsAccountId = this.AwsAccountId; + #if MODULAR + if (this.AwsAccountId == null && ParameterWasBound(nameof(this.AwsAccountId))) + { + WriteWarning("You are passing $null as a value for parameter AwsAccountId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.ResourceArn = this.ResourceArn; + #if MODULAR + if (this.ResourceArn == null && ParameterWasBound(nameof(this.ResourceArn))) + { + WriteWarning("You are passing $null as a value for parameter ResourceArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.QuickSight.Model.ListFoldersForResourceRequest(); + + if (cmdletContext.AwsAccountId != null) + { + request.AwsAccountId = cmdletContext.AwsAccountId; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.ResourceArn != null) + { + request.ResourceArn = cmdletContext.ResourceArn; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.NextToken; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.NextToken = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.NextToken; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.QuickSight.Model.ListFoldersForResourceResponse CallAWSServiceOperation(IAmazonQuickSight client, Amazon.QuickSight.Model.ListFoldersForResourceRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon QuickSight", "ListFoldersForResource"); + try + { + #if DESKTOP + return client.ListFoldersForResource(request); + #elif CORECLR + return client.ListFoldersForResourceAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AwsAccountId { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String ResourceArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Folders; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Get-QSQPersonalizationConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Get-QSQPersonalizationConfiguration-Cmdlet.cs new file mode 100644 index 0000000000..5b7fd770d5 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Get-QSQPersonalizationConfiguration-Cmdlet.cs @@ -0,0 +1,203 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.QuickSight; +using Amazon.QuickSight.Model; + +namespace Amazon.PowerShell.Cmdlets.QS +{ + /// + /// Describes a personalization configuration. + /// + [Cmdlet("Get", "QSQPersonalizationConfiguration")] + [OutputType("Amazon.QuickSight.PersonalizationMode")] + [AWSCmdlet("Calls the Amazon QuickSight DescribeQPersonalizationConfiguration API operation.", Operation = new[] {"DescribeQPersonalizationConfiguration"}, SelectReturnType = typeof(Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationResponse))] + [AWSCmdletOutput("Amazon.QuickSight.PersonalizationMode or Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationResponse", + "This cmdlet returns an Amazon.QuickSight.PersonalizationMode object.", + "The service call response (type Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetQSQPersonalizationConfigurationCmdlet : AmazonQuickSightClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter AwsAccountId + /// + /// + /// The ID of the Amazon Web Services account that contains the personalization configuration + /// that the user wants described. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String AwsAccountId { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'PersonalizationMode'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationResponse). + /// Specifying the name of a property of type Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "PersonalizationMode"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the AwsAccountId parameter. + /// The -PassThru parameter is deprecated, use -Select '^AwsAccountId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^AwsAccountId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.AwsAccountId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AwsAccountId = this.AwsAccountId; + #if MODULAR + if (this.AwsAccountId == null && ParameterWasBound(nameof(this.AwsAccountId))) + { + WriteWarning("You are passing $null as a value for parameter AwsAccountId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationRequest(); + + if (cmdletContext.AwsAccountId != null) + { + request.AwsAccountId = cmdletContext.AwsAccountId; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationResponse CallAWSServiceOperation(IAmazonQuickSight client, Amazon.QuickSight.Model.DescribeQPersonalizationConfigurationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon QuickSight", "DescribeQPersonalizationConfiguration"); + try + { + #if DESKTOP + return client.DescribeQPersonalizationConfiguration(request); + #elif CORECLR + return client.DescribeQPersonalizationConfigurationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AwsAccountId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.PersonalizationMode; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Update-QSQPersonalizationConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Update-QSQPersonalizationConfiguration-Cmdlet.cs new file mode 100644 index 0000000000..a4bfc7aebf --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/QuickSight/Basic/Update-QSQPersonalizationConfiguration-Cmdlet.cs @@ -0,0 +1,249 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.QuickSight; +using Amazon.QuickSight.Model; + +namespace Amazon.PowerShell.Cmdlets.QS +{ + /// + /// Updates a personalization configuration. + /// + [Cmdlet("Update", "QSQPersonalizationConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.QuickSight.PersonalizationMode")] + [AWSCmdlet("Calls the Amazon QuickSight UpdateQPersonalizationConfiguration API operation.", Operation = new[] {"UpdateQPersonalizationConfiguration"}, SelectReturnType = typeof(Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationResponse))] + [AWSCmdletOutput("Amazon.QuickSight.PersonalizationMode or Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationResponse", + "This cmdlet returns an Amazon.QuickSight.PersonalizationMode object.", + "The service call response (type Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class UpdateQSQPersonalizationConfigurationCmdlet : AmazonQuickSightClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter AwsAccountId + /// + /// + /// The ID of the Amazon Web Services account account that contains the personalization + /// configuration that the user wants to update. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String AwsAccountId { get; set; } + #endregion + + #region Parameter PersonalizationMode + /// + /// + /// An option to allow Amazon QuickSight to customize data stories with user specific + /// metadata, specifically location and job information, in your IAM Identity Center instance. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.QuickSight.PersonalizationMode")] + public Amazon.QuickSight.PersonalizationMode PersonalizationMode { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'PersonalizationMode'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationResponse). + /// Specifying the name of a property of type Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "PersonalizationMode"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the AwsAccountId parameter. + /// The -PassThru parameter is deprecated, use -Select '^AwsAccountId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^AwsAccountId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.AwsAccountId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-QSQPersonalizationConfiguration (UpdateQPersonalizationConfiguration)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.AwsAccountId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AwsAccountId = this.AwsAccountId; + #if MODULAR + if (this.AwsAccountId == null && ParameterWasBound(nameof(this.AwsAccountId))) + { + WriteWarning("You are passing $null as a value for parameter AwsAccountId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.PersonalizationMode = this.PersonalizationMode; + #if MODULAR + if (this.PersonalizationMode == null && ParameterWasBound(nameof(this.PersonalizationMode))) + { + WriteWarning("You are passing $null as a value for parameter PersonalizationMode which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationRequest(); + + if (cmdletContext.AwsAccountId != null) + { + request.AwsAccountId = cmdletContext.AwsAccountId; + } + if (cmdletContext.PersonalizationMode != null) + { + request.PersonalizationMode = cmdletContext.PersonalizationMode; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationResponse CallAWSServiceOperation(IAmazonQuickSight client, Amazon.QuickSight.Model.UpdateQPersonalizationConfigurationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon QuickSight", "UpdateQPersonalizationConfiguration"); + try + { + #if DESKTOP + return client.UpdateQPersonalizationConfiguration(request); + #elif CORECLR + return client.UpdateQPersonalizationConfigurationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AwsAccountId { get; set; } + public Amazon.QuickSight.PersonalizationMode PersonalizationMode { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.PersonalizationMode; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/RAM/AmazonRAMClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/RAM/AmazonRAMClientCmdlet.cs index 1328a5b07c..27211544c1 100644 --- a/modules/AWSPowerShell/Cmdlets/RAM/AmazonRAMClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RAM/AmazonRAMClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRAM CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRAMConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/RDS/AmazonRDSClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/AmazonRDSClientCmdlet.cs index eb17df181d..a5d8a74efb 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/AmazonRDSClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/AmazonRDSClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRDS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRDSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBProxyTargetGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBProxyTargetGroup-Cmdlet.cs index 3e0f56f32b..ab8494f749 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBProxyTargetGroup-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBProxyTargetGroup-Cmdlet.cs @@ -47,8 +47,7 @@ public partial class EditRDSDBProxyTargetGroupCmdlet : AmazonRDSClientCmdlet, IE /// /// The number of seconds for a proxy to wait for a connection to become available in /// the connection pool. This setting only applies when the proxy has opened its maximum - /// number of connections and all connections are busy with client sessions. For an unlimited - /// wait time, specify 0.Default: 120Constraints:
    • Must be between 0 and 3600.
    + /// number of connections and all connections are busy with client sessions.
    Default: 120Constraints:
    • Must be between 0 and 3600.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBShardGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBShardGroup-Cmdlet.cs index 1036b20dbb..5818d95b36 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBShardGroup-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Edit-RDSDBShardGroup-Cmdlet.cs @@ -42,6 +42,19 @@ public partial class EditRDSDBShardGroupCmdlet : AmazonRDSClientCmdlet, IExecuto protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter ComputeRedundancy + /// + /// + /// Specifies whether to create standby DB shard groups for the DB shard group. Valid + /// values are the following:
    • 0 - Creates a DB shard group without a standby DB shard group. This is the default + /// value.
    • 1 - Creates a DB shard group with a standby DB shard group in a different Availability + /// Zone (AZ).
    • 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.
    + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Int32? ComputeRedundancy { get; set; } + #endregion + #region Parameter DBShardGroupIdentifier /// /// @@ -141,6 +154,7 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.DBShardGroupIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ComputeRedundancy = this.ComputeRedundancy; context.DBShardGroupIdentifier = this.DBShardGroupIdentifier; #if MODULAR if (this.DBShardGroupIdentifier == null && ParameterWasBound(nameof(this.DBShardGroupIdentifier))) @@ -166,6 +180,10 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.RDS.Model.ModifyDBShardGroupRequest(); + if (cmdletContext.ComputeRedundancy != null) + { + request.ComputeRedundancy = cmdletContext.ComputeRedundancy.Value; + } if (cmdletContext.DBShardGroupIdentifier != null) { request.DBShardGroupIdentifier = cmdletContext.DBShardGroupIdentifier; @@ -239,6 +257,7 @@ private Amazon.RDS.Model.ModifyDBShardGroupResponse CallAWSServiceOperation(IAma internal partial class CmdletContext : ExecutorContext { + public System.Int32? ComputeRedundancy { get; set; } public System.String DBShardGroupIdentifier { get; set; } public System.Double? MaxACU { get; set; } public System.Double? MinACU { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Get-RDSTagForResource-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Get-RDSTagForResource-Cmdlet.cs index 114682f33d..d6a67808b0 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Get-RDSTagForResource-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Get-RDSTagForResource-Cmdlet.cs @@ -32,8 +32,9 @@ namespace Amazon.PowerShell.Cmdlets.RDS /// /// /// - /// For an overview on tagging an Amazon RDS resource, see Tagging - /// Amazon RDS Resources in the Amazon RDS User Guide. + /// For an overview on tagging an Amazon RDS resource, see Tagging + /// Amazon RDS Resources in the Amazon RDS User Guide or Tagging + /// Amazon Aurora and Amazon RDS Resources in the Amazon Aurora User Guide. /// /// [Cmdlet("Get", "RDSTagForResource")] diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstance-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstance-Cmdlet.cs index c52284e192..f7d07ab9ae 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstance-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstance-Cmdlet.cs @@ -280,7 +280,7 @@ public partial class NewRDSDBInstanceCmdlet : AmazonRDSClientCmdlet, IExecutor #region Parameter DBSubnetGroupName /// /// - /// A DB subnet group to associate with this DB instance.Constraints:
    • Must match the name of an existing DB subnet group.
    • Must not be default.
    Example: mydbsubnetgroup + /// A DB subnet group to associate with this DB instance.Constraints:
    • Must match the name of an existing DB subnet group.
    Example: mydbsubnetgroup ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -452,7 +452,7 @@ public partial class NewRDSDBInstanceCmdlet : AmazonRDSClientCmdlet, IExecutor #region Parameter Engine /// /// - /// The database engine to use for this DB instance.Not every database engine is available in every Amazon Web Services Region.Valid Values:
    • aurora-mysql (for Aurora MySQL DB instances)
    • aurora-postgresql (for Aurora PostgreSQL DB instances)
    • custom-oracle-ee (for RDS Custom for Oracle DB instances)
    • custom-oracle-ee-cdb (for RDS Custom for Oracle DB instances)
    • custom-oracle-se2 (for RDS Custom for Oracle DB instances)
    • custom-oracle-se2-cdb (for RDS Custom for Oracle DB instances)
    • custom-sqlserver-ee (for RDS Custom for SQL Server DB instances)
    • custom-sqlserver-se (for RDS Custom for SQL Server DB instances)
    • custom-sqlserver-web (for RDS Custom for SQL Server DB instances)
    • db2-ae
    • db2-se
    • mariadb
    • mysql
    • oracle-ee
    • oracle-ee-cdb
    • oracle-se2
    • oracle-se2-cdb
    • postgres
    • sqlserver-ee
    • sqlserver-se
    • sqlserver-ex
    • sqlserver-web
    + /// The database engine to use for this DB instance.Not every database engine is available in every Amazon Web Services Region.Valid Values:
    • aurora-mysql (for Aurora MySQL DB instances)
    • aurora-postgresql (for Aurora PostgreSQL DB instances)
    • custom-oracle-ee (for RDS Custom for Oracle DB instances)
    • custom-oracle-ee-cdb (for RDS Custom for Oracle DB instances)
    • custom-oracle-se2 (for RDS Custom for Oracle DB instances)
    • custom-oracle-se2-cdb (for RDS Custom for Oracle DB instances)
    • custom-sqlserver-ee (for RDS Custom for SQL Server DB instances)
    • custom-sqlserver-se (for RDS Custom for SQL Server DB instances)
    • custom-sqlserver-web (for RDS Custom for SQL Server DB instances)
    • custom-sqlserver-dev (for RDS Custom for SQL Server DB instances)
    • db2-ae
    • db2-se
    • mariadb
    • mysql
    • oracle-ee
    • oracle-ee-cdb
    • oracle-se2
    • oracle-se2-cdb
    • postgres
    • sqlserver-ee
    • sqlserver-se
    • sqlserver-ex
    • sqlserver-web
    ///
    ///
    #if !MODULAR @@ -546,10 +546,11 @@ public partial class NewRDSDBInstanceCmdlet : AmazonRDSClientCmdlet, IExecutor /// /// /// The license model information for this DB instance.License models for RDS for Db2 require additional configuration. The Bring Your Own - /// License (BYOL) model requires a custom parameter group. The Db2 license through Amazon - /// Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. - /// For more information, see RDS - /// for Db2 licensing options in the Amazon RDS User Guide.The default for RDS for Db2 is bring-your-own-license.This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.Valid Values:
    • RDS for Db2 - bring-your-own-license | marketplace-license
    • RDS for MariaDB - general-public-license
    • RDS for Microsoft SQL Server - license-included
    • RDS for MySQL - general-public-license
    • RDS for Oracle - bring-your-own-license | license-included
    • RDS for PostgreSQL - postgresql-license
    + /// License (BYOL) model requires a custom parameter group and an Amazon Web Services + /// License Manager self-managed license. The Db2 license through Amazon Web Services + /// Marketplace model requires an Amazon Web Services Marketplace subscription. For more + /// information, see Amazon + /// RDS for Db2 licensing options in the Amazon RDS User Guide.
    The default for RDS for Db2 is bring-your-own-license.This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.Valid Values:
    • RDS for Db2 - bring-your-own-license | marketplace-license
    • RDS for MariaDB - general-public-license
    • RDS for Microsoft SQL Server - license-included
    • RDS for MySQL - general-public-license
    • RDS for Oracle - bring-your-own-license | license-included
    • RDS for PostgreSQL - postgresql-license
    /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstanceReadReplica-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstanceReadReplica-Cmdlet.cs index ea4d85938e..be40de225e 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstanceReadReplica-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBInstanceReadReplica-Cmdlet.cs @@ -167,12 +167,14 @@ public partial class NewRDSDBInstanceReadReplicaCmdlet : AmazonRDSClientCmdlet, #region Parameter DBParameterGroupName /// /// - /// The name of the DB parameter group to associate with this DB instance.If you don't specify a value for DBParameterGroupName, then Amazon RDS uses - /// the DBParameterGroup of the source DB instance for a same Region read replica, - /// or the default DBParameterGroup for the specified DB engine for a cross-Region - /// read replica.Specifying a parameter group for this operation is only supported for MySQL DB instances - /// for cross-Region read replicas and for Oracle DB instances. It isn't supported for - /// MySQL DB instances for same Region read replicas or for RDS Custom.Constraints:
    • Must be 1 to 255 letters, numbers, or hyphens.
    • First character must be a letter.
    • Can't end with a hyphen or contain two consecutive hyphens.
    + /// The name of the DB parameter group to associate with this read replica DB instance.For Single-AZ or Multi-AZ DB instance read replica instances, if you don't specify + /// a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup + /// of the source DB instance for a same Region read replica, or the default DBParameterGroup + /// for the specified DB engine for a cross-Region read replica.For Multi-AZ DB cluster same Region read replica instances, if you don't specify a + /// value for DBParameterGroupName, then Amazon RDS uses the default DBParameterGroup.Specifying a parameter group for this operation is only supported for MySQL DB instances + /// for cross-Region read replicas, for Multi-AZ DB cluster read replica instances, and + /// for Oracle DB instances. It isn't supported for MySQL DB instances for same Region + /// read replicas or for RDS Custom.Constraints:
    • Must be 1 to 255 letters, numbers, or hyphens.
    • First character must be a letter.
    • Can't end with a hyphen or contain two consecutive hyphens.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -520,8 +522,7 @@ public partial class NewRDSDBInstanceReadReplicaCmdlet : AmazonRDSClientCmdlet, /// Version 4 Signing Process.
    If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion /// (or --source-region for the CLI) instead of specifying PreSignedUrl /// manually. Specifying SourceRegion autogenerates a presigned URL that is a valid - /// request for the operation that can run in the source Amazon Web Services Region.SourceRegion isn't supported for SQL Server, because Amazon RDS for SQL Server - /// doesn't support cross-Region read replicas.This setting doesn't apply to RDS Custom DB instances. + /// request for the operation that can run in the source Amazon Web Services Region.This setting doesn't apply to RDS Custom DB instances. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBShardGroup-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBShardGroup-Cmdlet.cs index cc14915bcb..681c77d45b 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBShardGroup-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSDBShardGroup-Cmdlet.cs @@ -50,11 +50,10 @@ public partial class NewRDSDBShardGroupCmdlet : AmazonRDSClientCmdlet, IExecutor #region Parameter ComputeRedundancy /// /// - /// Specifies whether to create standby instances for the DB shard group. Valid values - /// are the following:
    • 0 - Creates a single, primary DB instance for each physical shard. This is the default - /// value, and the only one supported for the preview.
    • 1 - Creates a primary DB instance and a standby instance in a different Availability - /// Zone (AZ) for each physical shard.
    • 2 - Creates a primary DB instance and two standby instances in different AZs for each - /// physical shard.
    + /// Specifies whether to create standby DB shard groups for the DB shard group. Valid + /// values are the following:
    • 0 - Creates a DB shard group without a standby DB shard group. This is the default + /// value.
    • 1 - Creates a DB shard group with a standby DB shard group in a different Availability + /// Zone (AZ).
    • 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSGlobalCluster-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSGlobalCluster-Cmdlet.cs index a5b59a46bd..77df03a138 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSGlobalCluster-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/New-RDSGlobalCluster-Cmdlet.cs @@ -151,6 +151,17 @@ public partial class NewRDSGlobalClusterCmdlet : AmazonRDSClientCmdlet, IExecuto public System.Boolean? StorageEncrypted { get; set; } #endregion + #region Parameter Tag + /// + /// + /// Tags to assign to the global cluster. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public Amazon.RDS.Model.Tag[] Tag { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'GlobalCluster'. @@ -221,6 +232,10 @@ protected override void ProcessRecord() context.GlobalClusterIdentifier = this.GlobalClusterIdentifier; context.SourceDBClusterIdentifier = this.SourceDBClusterIdentifier; context.StorageEncrypted = this.StorageEncrypted; + if (this.Tag != null) + { + context.Tag = new List(this.Tag); + } // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -269,6 +284,10 @@ public object Execute(ExecutorContext context) { request.StorageEncrypted = cmdletContext.StorageEncrypted.Value; } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } CmdletOutput output; @@ -338,6 +357,7 @@ internal partial class CmdletContext : ExecutorContext public System.String GlobalClusterIdentifier { get; set; } public System.String SourceDBClusterIdentifier { get; set; } public System.Boolean? StorageEncrypted { get; set; } + public List Tag { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.GlobalCluster; } diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Remove-RDSTagFromResource-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Remove-RDSTagFromResource-Cmdlet.cs index 9f640ce265..1dfbf84a02 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Remove-RDSTagFromResource-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Remove-RDSTagFromResource-Cmdlet.cs @@ -32,8 +32,10 @@ namespace Amazon.PowerShell.Cmdlets.RDS /// /// /// - /// For an overview on tagging an Amazon RDS resource, see Tagging - /// Amazon RDS Resources in the Amazon RDS User Guide. + /// For an overview on tagging an Amazon RDS resource, see Tagging + /// Amazon RDS Resources in the Amazon RDS User Guide or Tagging + /// Amazon Aurora and Amazon RDS Resources in the Amazon Aurora User Guide. + /// /// [Cmdlet("Remove", "RDSTagFromResource", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceFromDBSnapshot-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceFromDBSnapshot-Cmdlet.cs index 524c7fc758..4ec46bff52 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceFromDBSnapshot-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceFromDBSnapshot-Cmdlet.cs @@ -47,6 +47,13 @@ namespace Amazon.PowerShell.Cmdlets.RDS ///
    /// If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier /// must be the ARN of the shared DB snapshot. + /// + /// To restore from a DB snapshot with an unsupported engine version, you must first upgrade + /// the engine version of the snapshot. For more information about upgrading a RDS for + /// MySQL DB snapshot engine version, see Upgrading + /// a MySQL DB snapshot engine version. For more information about upgrading a RDS + /// for PostgreSQL DB snapshot engine version, Upgrading + /// a PostgreSQL DB snapshot engine version. /// /// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use /// RestoreDBClusterFromSnapshot. @@ -421,10 +428,11 @@ public partial class RestoreRDSDBInstanceFromDBSnapshotCmdlet : AmazonRDSClientC /// /// /// License model information for the restored DB instance.License models for RDS for Db2 require additional configuration. The Bring Your Own - /// License (BYOL) model requires a custom parameter group. The Db2 license through Amazon - /// Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. - /// For more information, see RDS - /// for Db2 licensing options in the Amazon RDS User Guide.This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.Valid Values:
    • RDS for Db2 - bring-your-own-license | marketplace-license
    • RDS for MariaDB - general-public-license
    • RDS for Microsoft SQL Server - license-included
    • RDS for MySQL - general-public-license
    • RDS for Oracle - bring-your-own-license | license-included
    • RDS for PostgreSQL - postgresql-license
    Default: Same as the source. + /// License (BYOL) model requires a custom parameter group and an Amazon Web Services + /// License Manager self-managed license. The Db2 license through Amazon Web Services + /// Marketplace model requires an Amazon Web Services Marketplace subscription. For more + /// information, see Amazon + /// RDS for Db2 licensing options in the Amazon RDS User Guide.
    This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.Valid Values:
    • RDS for Db2 - bring-your-own-license | marketplace-license
    • RDS for MariaDB - general-public-license
    • RDS for Microsoft SQL Server - license-included
    • RDS for MySQL - general-public-license
    • RDS for Oracle - bring-your-own-license | license-included
    • RDS for PostgreSQL - postgresql-license
    Default: Same as the source. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceToPointInTime-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceToPointInTime-Cmdlet.cs index dd54769f7e..c4a8d25161 100644 --- a/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceToPointInTime-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDS/Basic/Restore-RDSDBInstanceToPointInTime-Cmdlet.cs @@ -362,10 +362,11 @@ public partial class RestoreRDSDBInstanceToPointInTimeCmdlet : AmazonRDSClientCm /// /// /// The license model information for the restored DB instance.License models for RDS for Db2 require additional configuration. The Bring Your Own - /// License (BYOL) model requires a custom parameter group. The Db2 license through Amazon - /// Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. - /// For more information, see RDS - /// for Db2 licensing options in the Amazon RDS User Guide.This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.Valid Values:
    • RDS for Db2 - bring-your-own-license | marketplace-license
    • RDS for MariaDB - general-public-license
    • RDS for Microsoft SQL Server - license-included
    • RDS for MySQL - general-public-license
    • RDS for Oracle - bring-your-own-license | license-included
    • RDS for PostgreSQL - postgresql-license
    Default: Same as the source. + /// License (BYOL) model requires a custom parameter group and an Amazon Web Services + /// License Manager self-managed license. The Db2 license through Amazon Web Services + /// Marketplace model requires an Amazon Web Services Marketplace subscription. For more + /// information, see Amazon + /// RDS for Db2 licensing options in the Amazon RDS User Guide.
    This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.Valid Values:
    • RDS for Db2 - bring-your-own-license | marketplace-license
    • RDS for MariaDB - general-public-license
    • RDS for Microsoft SQL Server - license-included
    • RDS for MySQL - general-public-license
    • RDS for Oracle - bring-your-own-license | license-included
    • RDS for PostgreSQL - postgresql-license
    Default: Same as the source. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/RDSDataService/AmazonRDSDataServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDSDataService/AmazonRDSDataServiceClientCmdlet.cs index 1a23d39799..20d2d65c54 100644 --- a/modules/AWSPowerShell/Cmdlets/RDSDataService/AmazonRDSDataServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDSDataService/AmazonRDSDataServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRDSDataService CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRDSDataServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Invoke-RDSDSqlStatement-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Invoke-RDSDSqlStatement-Cmdlet.cs index 71068b918e..2dbe4229fe 100644 --- a/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Invoke-RDSDSqlStatement-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Invoke-RDSDSqlStatement-Cmdlet.cs @@ -31,9 +31,9 @@ namespace Amazon.PowerShell.Cmdlets.RDSD /// Runs one or more SQL statements. /// /// - /// This operation isn't supported for Aurora PostgreSQL Serverless v2 and provisioned - /// DB clusters, and for Aurora Serverless v1 DB clusters, the operation is deprecated. - /// Use the BatchExecuteStatement or ExecuteStatement operation. + /// This operation isn't supported for Aurora Serverless v2 and provisioned DB clusters. + /// For Aurora Serverless v1 DB clusters, the operation is deprecated. Use the BatchExecuteStatement + /// or ExecuteStatement operation. ///

    This operation is deprecated. ///
    [Cmdlet("Invoke", "RDSDSqlStatement", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] diff --git a/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Start-RDSDTransaction-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Start-RDSDTransaction-Cmdlet.cs index 9f53a18d30..9bd2927021 100644 --- a/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Start-RDSDTransaction-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RDSDataService/Basic/Start-RDSDTransaction-Cmdlet.cs @@ -37,9 +37,9 @@ namespace Amazon.PowerShell.Cmdlets.RDSD /// A transaction times out if no calls use its transaction ID in three minutes. If a /// transaction times out before it's committed, it's rolled back automatically. ///
    - /// DDL statements inside a transaction cause an implicit commit. We recommend that you - /// run each DDL statement in a separate ExecuteStatement call with continueAfterTimeout - /// enabled. + /// For Aurora MySQL, DDL statements inside a transaction cause an implicit commit. We + /// recommend that you run each MySQL DDL statement in a separate ExecuteStatement + /// call with continueAfterTimeout enabled. /// ///
    [Cmdlet("Start", "RDSDTransaction", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] diff --git a/modules/AWSPowerShell/Cmdlets/RecycleBin/AmazonRecycleBinClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/RecycleBin/AmazonRecycleBinClientCmdlet.cs index 6810559cb8..64d5b7fe68 100644 --- a/modules/AWSPowerShell/Cmdlets/RecycleBin/AmazonRecycleBinClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RecycleBin/AmazonRecycleBinClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRecycleBin CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRecycleBinConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Redshift/AmazonRedshiftClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Redshift/AmazonRedshiftClientCmdlet.cs index df986fa11b..6a7910742c 100644 --- a/modules/AWSPowerShell/Cmdlets/Redshift/AmazonRedshiftClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Redshift/AmazonRedshiftClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRedshift CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRedshiftConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/AmazonRedshiftDataAPIServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/AmazonRedshiftDataAPIServiceClientCmdlet.cs index fc45c84d4f..6fa6f69d36 100644 --- a/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/AmazonRedshiftDataAPIServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/AmazonRedshiftDataAPIServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRedshiftDataAPIService CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRedshiftDataAPIServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Push-RSDBatchStatement-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Push-RSDBatchStatement-Cmdlet.cs index 1ec3e1de7e..7fb2151603 100644 --- a/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Push-RSDBatchStatement-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Push-RSDBatchStatement-Cmdlet.cs @@ -92,14 +92,7 @@ public partial class PushRSDBatchStatementCmdlet : AmazonRedshiftDataAPIServiceC /// Secrets Manager or temporary credentials.
    /// ///
    - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] public System.String Database { get; set; } #endregion @@ -125,6 +118,29 @@ public partial class PushRSDBatchStatementCmdlet : AmazonRedshiftDataAPIServiceC public System.String SecretArn { get; set; } #endregion + #region Parameter SessionId + /// + /// + /// The session identifier of the query. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SessionId { get; set; } + #endregion + + #region Parameter SessionKeepAliveSecond + /// + /// + /// The number of seconds to keep the session alive after the query finishes. The maximum + /// time a session can keep alive is 24 hours. After 24 hours, the session is forced closed + /// and the query is terminated. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SessionKeepAliveSeconds")] + public System.Int32? SessionKeepAliveSecond { get; set; } + #endregion + #region Parameter Sql /// /// @@ -253,14 +269,10 @@ protected override void ProcessRecord() context.ClientToken = this.ClientToken; context.ClusterIdentifier = this.ClusterIdentifier; context.Database = this.Database; - #if MODULAR - if (this.Database == null && ParameterWasBound(nameof(this.Database))) - { - WriteWarning("You are passing $null as a value for parameter Database which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif context.DbUser = this.DbUser; context.SecretArn = this.SecretArn; + context.SessionId = this.SessionId; + context.SessionKeepAliveSecond = this.SessionKeepAliveSecond; if (this.Sql != null) { context.Sql = new List(this.Sql); @@ -310,6 +322,14 @@ public object Execute(ExecutorContext context) { request.SecretArn = cmdletContext.SecretArn; } + if (cmdletContext.SessionId != null) + { + request.SessionId = cmdletContext.SessionId; + } + if (cmdletContext.SessionKeepAliveSecond != null) + { + request.SessionKeepAliveSeconds = cmdletContext.SessionKeepAliveSecond.Value; + } if (cmdletContext.Sql != null) { request.Sqls = cmdletContext.Sql; @@ -392,6 +412,8 @@ internal partial class CmdletContext : ExecutorContext public System.String Database { get; set; } public System.String DbUser { get; set; } public System.String SecretArn { get; set; } + public System.String SessionId { get; set; } + public System.Int32? SessionKeepAliveSecond { get; set; } public List Sql { get; set; } public System.String StatementName { get; set; } public System.Boolean? WithEvent { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Send-RSDStatement-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Send-RSDStatement-Cmdlet.cs index 65350e9fff..f127172f36 100644 --- a/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Send-RSDStatement-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RedshiftDataAPIService/Basic/Send-RSDStatement-Cmdlet.cs @@ -93,14 +93,7 @@ public partial class SendRSDStatementCmdlet : AmazonRedshiftDataAPIServiceClient /// Secrets Manager or temporary credentials. /// /// - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] public System.String Database { get; set; } #endregion @@ -137,6 +130,29 @@ public partial class SendRSDStatementCmdlet : AmazonRedshiftDataAPIServiceClient public System.String SecretArn { get; set; } #endregion + #region Parameter SessionId + /// + /// + /// The session identifier of the query. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SessionId { get; set; } + #endregion + + #region Parameter SessionKeepAliveSecond + /// + /// + /// The number of seconds to keep the session alive after the query finishes. The maximum + /// time a session can keep alive is 24 hours. After 24 hours, the session is forced closed + /// and the query is terminated. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SessionKeepAliveSeconds")] + public System.Int32? SessionKeepAliveSecond { get; set; } + #endregion + #region Parameter Sql /// /// @@ -244,18 +260,14 @@ protected override void ProcessRecord() context.ClientToken = this.ClientToken; context.ClusterIdentifier = this.ClusterIdentifier; context.Database = this.Database; - #if MODULAR - if (this.Database == null && ParameterWasBound(nameof(this.Database))) - { - WriteWarning("You are passing $null as a value for parameter Database which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif context.DbUser = this.DbUser; if (this.Parameter != null) { context.Parameter = new List(this.Parameter); } context.SecretArn = this.SecretArn; + context.SessionId = this.SessionId; + context.SessionKeepAliveSecond = this.SessionKeepAliveSecond; context.Sql = this.Sql; #if MODULAR if (this.Sql == null && ParameterWasBound(nameof(this.Sql))) @@ -306,6 +318,14 @@ public object Execute(ExecutorContext context) { request.SecretArn = cmdletContext.SecretArn; } + if (cmdletContext.SessionId != null) + { + request.SessionId = cmdletContext.SessionId; + } + if (cmdletContext.SessionKeepAliveSecond != null) + { + request.SessionKeepAliveSeconds = cmdletContext.SessionKeepAliveSecond.Value; + } if (cmdletContext.Sql != null) { request.Sql = cmdletContext.Sql; @@ -389,6 +409,8 @@ internal partial class CmdletContext : ExecutorContext public System.String DbUser { get; set; } public List Parameter { get; set; } public System.String SecretArn { get; set; } + public System.String SessionId { get; set; } + public System.Int32? SessionKeepAliveSecond { get; set; } public System.String Sql { get; set; } public System.String StatementName { get; set; } public System.Boolean? WithEvent { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/RedshiftServerless/AmazonRedshiftServerlessClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/RedshiftServerless/AmazonRedshiftServerlessClientCmdlet.cs index 621fda86fe..f39008ee3b 100644 --- a/modules/AWSPowerShell/Cmdlets/RedshiftServerless/AmazonRedshiftServerlessClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RedshiftServerless/AmazonRedshiftServerlessClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRedshiftServerless CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRedshiftServerlessConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Rekognition/AmazonRekognitionClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Rekognition/AmazonRekognitionClientCmdlet.cs index d9e50cbd1f..09f59477d7 100644 --- a/modules/AWSPowerShell/Cmdlets/Rekognition/AmazonRekognitionClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Rekognition/AmazonRekognitionClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRekognition CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRekognitionConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Repostspace/AmazonRepostspaceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Repostspace/AmazonRepostspaceClientCmdlet.cs index a1efa97965..690c6f2b93 100644 --- a/modules/AWSPowerShell/Cmdlets/Repostspace/AmazonRepostspaceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Repostspace/AmazonRepostspaceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRepostspace CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRepostspaceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ResilienceHub/AmazonResilienceHubClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ResilienceHub/AmazonResilienceHubClientCmdlet.cs index f066fe2354..1ed4515373 100644 --- a/modules/AWSPowerShell/Cmdlets/ResilienceHub/AmazonResilienceHubClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ResilienceHub/AmazonResilienceHubClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonResilienceHub CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonResilienceHubConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.Completers.psm1 index ac0baa3b3f..9dbdf414d6 100644 --- a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.Completers.psm1 @@ -165,6 +165,7 @@ $AREX_SelectMap = @{ "Get-AREXView", "Get-AREXIndexList", "Get-AREXIndexesForMemberList", + "Get-AREXResourceList", "Get-AREXSupportedResourceTypeList", "Get-AREXResourceTag", "Get-AREXViewArnList", diff --git a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.psd1 b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.psd1 index f7960773a4..82fa0917e8 100644 --- a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.psd1 +++ b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AWS.Tools.ResourceExplorer2.psd1 @@ -92,6 +92,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-AREXIndex', 'Get-AREXIndexesForMemberList', 'Get-AREXIndexList', + 'Get-AREXResourceList', 'Get-AREXResourceTag', 'Get-AREXSupportedResourceTypeList', 'Get-AREXView', diff --git a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AmazonResourceExplorer2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AmazonResourceExplorer2ClientCmdlet.cs index 63e781f32e..eed104fe65 100644 --- a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AmazonResourceExplorer2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/AmazonResourceExplorer2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonResourceExplorer2 CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonResourceExplorer2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/Basic/Get-AREXAccountLevelServiceConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/Basic/Get-AREXAccountLevelServiceConfiguration-Cmdlet.cs index 551cb6de22..df88a9f3df 100644 --- a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/Basic/Get-AREXAccountLevelServiceConfiguration-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/Basic/Get-AREXAccountLevelServiceConfiguration-Cmdlet.cs @@ -30,8 +30,7 @@ namespace Amazon.PowerShell.Cmdlets.AREX /// /// Retrieves the status of your account's Amazon Web Services service access, and validates /// the service linked role required to access the multi-account search feature. Only - /// the management account or a delegated administrator with service access enabled can - /// invoke this API call. + /// the management account can invoke this API call. /// [Cmdlet("Get", "AREXAccountLevelServiceConfiguration")] [OutputType("Amazon.ResourceExplorer2.Model.OrgConfiguration")] diff --git a/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/Basic/Get-AREXResourceList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/Basic/Get-AREXResourceList-Cmdlet.cs new file mode 100644 index 0000000000..b33f06a2af --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/ResourceExplorer2/Basic/Get-AREXResourceList-Cmdlet.cs @@ -0,0 +1,273 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.ResourceExplorer2; +using Amazon.ResourceExplorer2.Model; + +namespace Amazon.PowerShell.Cmdlets.AREX +{ + /// + /// Returns a list of resources and their details that match the specified criteria. This + /// query must use a view. If you don’t explicitly specify a view, then Resource Explorer + /// uses the default view for the Amazon Web Services Region in which you call this operation. + /// + [Cmdlet("Get", "AREXResourceList")] + [OutputType("Amazon.ResourceExplorer2.Model.ListResourcesResponse")] + [AWSCmdlet("Calls the AWS Resource Explorer ListResources API operation.", Operation = new[] {"ListResources"}, SelectReturnType = typeof(Amazon.ResourceExplorer2.Model.ListResourcesResponse))] + [AWSCmdletOutput("Amazon.ResourceExplorer2.Model.ListResourcesResponse", + "This cmdlet returns an Amazon.ResourceExplorer2.Model.ListResourcesResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetAREXResourceListCmdlet : AmazonResourceExplorer2ClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Filters_FilterString + /// + /// + /// The string that contains the search keywords, prefixes, and operators to control the + /// results that can be returned by a Search operation. For more details, see Search + /// query syntax. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Filters_FilterString { get; set; } + #endregion + + #region Parameter ViewArn + /// + /// + /// Specifies the Amazon resource name (ARN) of the view to use for the query. If you + /// don't specify a value for this parameter, then the operation automatically uses the + /// default view for the Amazon Web Services Region in which you called this operation. + /// If the Region either doesn't have a default view or if you don't have permission to + /// use the default view, then the operation fails with a 401 Unauthorized exception. + /// + /// + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + public System.String ViewArn { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results that you want included on each page of the response. + /// If you do not include this parameter, it defaults to a value appropriate to the operation. + /// If additional items exist beyond those included in the current response, the NextToken + /// response element is present and has a value (is not null). Include that value as the + /// NextToken request parameter in the next call to the operation to get the next + /// part of the results.An API operation can return fewer results than the maximum even when there are more + /// results available. You should check NextToken after every operation to ensure + /// that you receive all of the results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The parameter for receiving additional results if you receive a NextToken response + /// in a previous request. A NextToken response indicates that more output is available. + /// Set this parameter to the value of the previous call's NextToken response to + /// indicate where the output should continue from. The pagination tokens expire after + /// 24 hours. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.ResourceExplorer2.Model.ListResourcesResponse). + /// Specifying the name of a property of type Amazon.ResourceExplorer2.Model.ListResourcesResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the ViewArn parameter. + /// The -PassThru parameter is deprecated, use -Select '^ViewArn' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ViewArn' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.ViewArn; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Filters_FilterString = this.Filters_FilterString; + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.ViewArn = this.ViewArn; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.ResourceExplorer2.Model.ListResourcesRequest(); + + + // populate Filters + var requestFiltersIsNull = true; + request.Filters = new Amazon.ResourceExplorer2.Model.SearchFilter(); + System.String requestFilters_filters_FilterString = null; + if (cmdletContext.Filters_FilterString != null) + { + requestFilters_filters_FilterString = cmdletContext.Filters_FilterString; + } + if (requestFilters_filters_FilterString != null) + { + request.Filters.FilterString = requestFilters_filters_FilterString; + requestFiltersIsNull = false; + } + // determine if request.Filters should be set to null + if (requestFiltersIsNull) + { + request.Filters = null; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + if (cmdletContext.ViewArn != null) + { + request.ViewArn = cmdletContext.ViewArn; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.ResourceExplorer2.Model.ListResourcesResponse CallAWSServiceOperation(IAmazonResourceExplorer2 client, Amazon.ResourceExplorer2.Model.ListResourcesRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Resource Explorer", "ListResources"); + try + { + #if DESKTOP + return client.ListResources(request); + #elif CORECLR + return client.ListResourcesAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String Filters_FilterString { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String ViewArn { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/ResourceGroups/AmazonResourceGroupsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ResourceGroups/AmazonResourceGroupsClientCmdlet.cs index 18dc054a74..f094d718a9 100644 --- a/modules/AWSPowerShell/Cmdlets/ResourceGroups/AmazonResourceGroupsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ResourceGroups/AmazonResourceGroupsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonResourceGroups CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonResourceGroupsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ResourceGroupsTaggingAPI/AmazonResourceGroupsTaggingAPIClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ResourceGroupsTaggingAPI/AmazonResourceGroupsTaggingAPIClientCmdlet.cs index 10865a5dca..7c62f88ab8 100644 --- a/modules/AWSPowerShell/Cmdlets/ResourceGroupsTaggingAPI/AmazonResourceGroupsTaggingAPIClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ResourceGroupsTaggingAPI/AmazonResourceGroupsTaggingAPIClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonResourceGroupsTaggingAPI CreateClient(AWSCredentials credential return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonResourceGroupsTaggingAPIConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/RoboMaker/AmazonRoboMakerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/RoboMaker/AmazonRoboMakerClientCmdlet.cs index 441484019e..4e977b8ee0 100644 --- a/modules/AWSPowerShell/Cmdlets/RoboMaker/AmazonRoboMakerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/RoboMaker/AmazonRoboMakerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRoboMaker CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoboMakerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Route53/AmazonRoute53ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Route53/AmazonRoute53ClientCmdlet.cs index 375fe82e65..f68ac1f4b7 100644 --- a/modules/AWSPowerShell/Cmdlets/Route53/AmazonRoute53ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Route53/AmazonRoute53ClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonRoute53 CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoute53Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Route53Domains/AmazonRoute53DomainsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Route53Domains/AmazonRoute53DomainsClientCmdlet.cs index bc5ef13db3..6863e8ccb8 100644 --- a/modules/AWSPowerShell/Cmdlets/Route53Domains/AmazonRoute53DomainsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Route53Domains/AmazonRoute53DomainsClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonRoute53Domains CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoute53DomainsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Route53Profiles/AmazonRoute53ProfilesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Route53Profiles/AmazonRoute53ProfilesClientCmdlet.cs index dc21eaf604..d3b6213a3c 100644 --- a/modules/AWSPowerShell/Cmdlets/Route53Profiles/AmazonRoute53ProfilesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Route53Profiles/AmazonRoute53ProfilesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRoute53Profiles CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoute53ProfilesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Route53RecoveryCluster/AmazonRoute53RecoveryClusterClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Route53RecoveryCluster/AmazonRoute53RecoveryClusterClientCmdlet.cs index d0f2eb08a5..14c29207ce 100644 --- a/modules/AWSPowerShell/Cmdlets/Route53RecoveryCluster/AmazonRoute53RecoveryClusterClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Route53RecoveryCluster/AmazonRoute53RecoveryClusterClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRoute53RecoveryCluster CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoute53RecoveryClusterConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Route53RecoveryControlConfig/AmazonRoute53RecoveryControlConfigClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Route53RecoveryControlConfig/AmazonRoute53RecoveryControlConfigClientCmdlet.cs index 032634ff68..453001492b 100644 --- a/modules/AWSPowerShell/Cmdlets/Route53RecoveryControlConfig/AmazonRoute53RecoveryControlConfigClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Route53RecoveryControlConfig/AmazonRoute53RecoveryControlConfigClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRoute53RecoveryControlConfig CreateClient(AWSCredentials creden return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoute53RecoveryControlConfigConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Route53RecoveryReadiness/AmazonRoute53RecoveryReadinessClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Route53RecoveryReadiness/AmazonRoute53RecoveryReadinessClientCmdlet.cs index 887447f32e..e4f60f6a13 100644 --- a/modules/AWSPowerShell/Cmdlets/Route53RecoveryReadiness/AmazonRoute53RecoveryReadinessClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Route53RecoveryReadiness/AmazonRoute53RecoveryReadinessClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRoute53RecoveryReadiness CreateClient(AWSCredentials credential return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoute53RecoveryReadinessConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Route53Resolver/AmazonRoute53ResolverClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Route53Resolver/AmazonRoute53ResolverClientCmdlet.cs index e57651b0d2..0aa9fce84f 100644 --- a/modules/AWSPowerShell/Cmdlets/Route53Resolver/AmazonRoute53ResolverClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Route53Resolver/AmazonRoute53ResolverClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonRoute53Resolver CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonRoute53ResolverConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/S3/AWS.Tools.S3.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/S3/AWS.Tools.S3.Completers.psm1 index 0e8edd8eff..5799767b81 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/AWS.Tools.S3.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/S3/AWS.Tools.S3.Completers.psm1 @@ -242,6 +242,7 @@ $S3_Completers = { # Amazon.S3.RequestPayer { + ($_ -eq "Copy-S3Object/RequestPayer") -Or ($_ -eq "Get-S3BucketAccelerateConfiguration/RequestPayer") -Or ($_ -eq "Get-S3Object/RequestPayer") -Or ($_ -eq "Get-S3ObjectAttribute/RequestPayer") -Or @@ -251,7 +252,9 @@ $S3_Completers = { ($_ -eq "Get-S3ObjectTagSet/RequestPayer") -Or ($_ -eq "Get-S3ObjectV2/RequestPayer") -Or ($_ -eq "Get-S3Version/RequestPayer") -Or + ($_ -eq "Remove-S3Object/RequestPayer") -Or ($_ -eq "Restore-S3Object/RequestPayer") -Or + ($_ -eq "Write-S3Object/RequestPayer") -Or ($_ -eq "Write-S3ObjectLegalHold/RequestPayer") -Or ($_ -eq "Write-S3ObjectLockConfiguration/RequestPayer") -Or ($_ -eq "Write-S3ObjectRetention/RequestPayer") -Or @@ -312,6 +315,7 @@ $S3_Completers = { { ($_ -eq "Restore-S3Object/Encryption_EncryptionType") -Or ($_ -eq "Copy-S3Object/ServerSideEncryption") -Or + ($_ -eq "New-S3Session/ServerSideEncryption") -Or ($_ -eq "Write-S3Object/ServerSideEncryption") -Or ($_ -eq "Get-S3PreSignedURL/ServerSideEncryptionMethod") -Or ($_ -eq "Write-S3GetObjectResponse/ServerSideEncryptionMethod") @@ -371,7 +375,7 @@ $S3_map = @{ "PartitionedPrefix_PartitionDateSource"=@("Write-S3BucketLogging") "ReplicationStatus"=@("Write-S3GetObjectResponse") "RequestCharged"=@("Write-S3GetObjectResponse") - "RequestPayer"=@("Get-S3BucketAccelerateConfiguration","Get-S3Object","Get-S3ObjectAttribute","Get-S3ObjectLegalHold","Get-S3ObjectMetadata","Get-S3ObjectRetention","Get-S3ObjectTagSet","Get-S3ObjectV2","Get-S3Version","Restore-S3Object","Write-S3ObjectLegalHold","Write-S3ObjectLockConfiguration","Write-S3ObjectRetention","Write-S3ObjectTagSet") + "RequestPayer"=@("Copy-S3Object","Get-S3BucketAccelerateConfiguration","Get-S3Object","Get-S3ObjectAttribute","Get-S3ObjectLegalHold","Get-S3ObjectMetadata","Get-S3ObjectRetention","Get-S3ObjectTagSet","Get-S3ObjectV2","Get-S3Version","Remove-S3Object","Restore-S3Object","Write-S3Object","Write-S3ObjectLegalHold","Write-S3ObjectLockConfiguration","Write-S3ObjectRetention","Write-S3ObjectTagSet") "RestoreRequestType"=@("Restore-S3Object") "Retention_Mode"=@("Write-S3ObjectRetention") "RetrievalTier"=@("Restore-S3Object") @@ -380,7 +384,7 @@ $S3_map = @{ "S3BucketDestination_InventoryFormat"=@("Write-S3BucketInventoryConfiguration") "Schedule_Frequency"=@("Write-S3BucketInventoryConfiguration") "ServerSideCustomerEncryptionMethod"=@("Select-S3ObjectContent") - "ServerSideEncryption"=@("Copy-S3Object","Write-S3Object") + "ServerSideEncryption"=@("Copy-S3Object","New-S3Session","Write-S3Object") "ServerSideEncryptionCustomerMethod"=@("Copy-S3Object","Get-S3ObjectMetadata","Get-S3PreSignedURL","Read-S3Object","Write-S3Object") "ServerSideEncryptionMethod"=@("Get-S3PreSignedURL","Write-S3GetObjectResponse") "SessionMode"=@("New-S3Session") diff --git a/modules/AWSPowerShell/Cmdlets/S3/Advanced/Copy-S3Object-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Advanced/Copy-S3Object-Cmdlet.cs index c7e20b1bf4..7dc5e760ac 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Advanced/Copy-S3Object-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Advanced/Copy-S3Object-Cmdlet.cs @@ -543,6 +543,18 @@ public class CopyS3ObjectCmdlet : AmazonS3ClientCmdlet, IExecutor public System.String IfNoneMatch { get; set; } #endregion + #region Parameter RequestPayer + /// + /// + /// Confirms that the requester knows that they will be charged for the request. + /// Bucket owners need not specify this parameter in their requests. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.S3.RequestPayer")] + public Amazon.S3.RequestPayer RequestPayer { get; set; } + #endregion + #region Parameter Force /// /// This parameter overrides confirmation prompts to force @@ -589,7 +601,8 @@ protected override void ProcessRecord() Metadata = this.Metadata, Headers = this.HeaderCollection, - IfNoneMatch = this.IfNoneMatch + IfNoneMatch = this.IfNoneMatch, + RequestPayer = this.RequestPayer }; // this makes things simpler later @@ -686,7 +699,7 @@ public object Execute(ExecutorContext context) return CopyS3ObjectsToLocalFolder(context); // S3 requires multi-part operation for objects > 5GB - var objectSize = GetSourceObjectData(cmdletContext.SourceBucket, cmdletContext.SourceKey).ContentLength; + var objectSize = GetSourceObjectData(cmdletContext).ContentLength; return objectSize > FiveGigabytes ? MultipartCopyS3ObjectToS3(context, objectSize) : CopyS3ObjectToS3(context); } @@ -696,8 +709,11 @@ public ExecutorContext CreateContext() } #endregion - private GetObjectMetadataResponse GetSourceObjectData(string bucketName, string objectKey) + private GetObjectMetadataResponse GetSourceObjectData(CmdletContext cmdletContext) { + string bucketName = cmdletContext.SourceBucket; + string objectKey = cmdletContext.SourceKey; + var copySourceRegionArgs = new StandaloneRegionArguments { Region = this.SourceRegion, @@ -706,12 +722,17 @@ private GetObjectMetadataResponse GetSourceObjectData(string bucketName, string copySourceRegionArgs.TryGetRegion(true, out var region, out var regionSource, SessionState); var sourceRegionClient = CreateClient(_CurrentCredentials, region); - var request = new GetObjectMetadataRequest { BucketName = bucketName, Key = objectKey.TrimStart('/') }; + + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + base.UserAgentAddition = AmazonS3Helper.GetCleanKeyUserAgentAdditionString(objectKey, request.Key); var response = CallAWSServiceOperation(sourceRegionClient, request); @@ -719,7 +740,7 @@ private GetObjectMetadataResponse GetSourceObjectData(string bucketName, string } - private S3Object GetObjectData(IAmazonS3 s3Client, string bucketName, string objectKey) + private S3Object GetObjectData(IAmazonS3 s3Client, string bucketName, string objectKey, RequestPayer requestPayer) { // The underlying S3 api does not like listing with prefixes starting with / so strip // (eg Copy-S3Object -BucketName test-bucket -Key /data/sample.txt -DestinationKey /data/sample-copy.txt) @@ -730,6 +751,12 @@ private S3Object GetObjectData(IAmazonS3 s3Client, string bucketName, string obj BucketName = bucketName, Prefix = key }; + + if (requestPayer != null) + { + request.RequestPayer = requestPayer; + } + try { var response = CallAWSServiceOperation(s3Client, request); @@ -826,6 +853,11 @@ private object CopyS3ObjectToS3(ExecutorContext context) request.TagSet.AddRange(cmdletContext.TagSet); } + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + AmazonS3Helper.SetMetadataAndHeaders(request, cmdletContext.Metadata, cmdletContext.Headers); // issue call @@ -840,7 +872,8 @@ private object CopyS3ObjectToS3(ExecutorContext context) var objectData = GetObjectData(Client, request.DestinationBucket, string.IsNullOrEmpty(cmdletContext.DestinationKey) - ? cmdletContext.SourceKey : cmdletContext.DestinationKey); + ? cmdletContext.SourceKey : cmdletContext.DestinationKey, + cmdletContext.RequestPayer); output = new CmdletOutput { PipelineOutput = objectData, @@ -918,6 +951,11 @@ private object MultipartCopyS3ObjectToS3(ExecutorContext context, long objectSiz if (!string.IsNullOrEmpty(cmdletContext.IfNoneMatch)) completeRequest.IfNoneMatch = cmdletContext.IfNoneMatch; + if (cmdletContext.RequestPayer != null) + { + completeRequest.RequestPayer = cmdletContext.RequestPayer; + } + CallAWSServiceOperation(Client, completeRequest); uploadId = null; } @@ -927,7 +965,7 @@ private object MultipartCopyS3ObjectToS3(ExecutorContext context, long objectSiz { WriteProgressCompleteRecord(activity, "Copy object completed"); - var objectData = GetObjectData(Client, cmdletContext.DestinationBucket, cmdletContext.DestinationKey); + var objectData = GetObjectData(Client, cmdletContext.DestinationBucket, cmdletContext.DestinationKey, cmdletContext.RequestPayer); output = new CmdletOutput { PipelineOutput = objectData @@ -941,6 +979,12 @@ private object MultipartCopyS3ObjectToS3(ExecutorContext context, long objectSiz BucketName = cmdletContext.DestinationBucket, Key = cmdletContext.DestinationKey }; + + if (cmdletContext.RequestPayer != null) + { + abortRequest.RequestPayer = cmdletContext.RequestPayer; + } + CallAWSServiceOperation(Client, abortRequest); WriteProgressCompleteRecord(activity, "Operation failed"); } @@ -978,6 +1022,11 @@ private void PopulateRequest(CmdletContext cmdletContext, InitiateMultipartUploa if (cmdletContext.TagSet != null) request.TagSet.AddRange(cmdletContext.TagSet); + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + AmazonS3Helper.SetMetadataAndHeaders(request, cmdletContext.Metadata, cmdletContext.Headers); } @@ -1027,6 +1076,11 @@ private object CopyS3ObjectToLocalFile(ExecutorContext context) request.ChecksumMode = cmdletContext.ChecksumMode; + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + CmdletOutput output; using (var tu = new TransferUtility(Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint))) { @@ -1077,6 +1131,11 @@ private object CopyS3ObjectsToLocalFolder(ExecutorContext context) } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + CmdletOutput output; using (var tu = new TransferUtility(Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint))) { @@ -1288,6 +1347,8 @@ internal class CmdletContext : ExecutorContext public ChecksumMode ChecksumMode { get; set; } public String IfNoneMatch { get; set; } + + public RequestPayer RequestPayer { get; set; } } internal class MultiPartObjectCopyController @@ -1541,6 +1602,11 @@ private void PopulateRequest(CopyPartRequest request) request.ServerSideEncryptionCustomerMethod = _context.ServerSideEncryptionCustomerMethod; request.ServerSideEncryptionCustomerProvidedKey = _context.ServerSideEncryptionCustomerProvidedKey; request.ServerSideEncryptionCustomerProvidedKeyMD5 = _context.ServerSideEncryptionCustomerProvidedKeyMD5; + + if (_context.RequestPayer != null) + { + request.RequestPayer = _context.RequestPayer; + } } private void PartitionIntoParts() diff --git a/modules/AWSPowerShell/Cmdlets/S3/Advanced/Remove-S3Object-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Advanced/Remove-S3Object-Cmdlet.cs index 094e127c22..35d183ad4f 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Advanced/Remove-S3Object-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Advanced/Remove-S3Object-Cmdlet.cs @@ -185,6 +185,18 @@ public class RemoveS3ObjectCmdlet : AmazonS3ClientCmdlet, IExecutor public ChecksumAlgorithm ChecksumAlgorithm { get; set; } #endregion + #region Parameter RequestPayer + /// + /// + /// Confirms that the requester knows that they will be charged for the request. + /// Bucket owners need not specify this parameter in their requests. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.S3.RequestPayer")] + public Amazon.S3.RequestPayer RequestPayer { get; set; } + #endregion + #region Shared Parameters #region Parameter SerialNumber @@ -276,6 +288,7 @@ protected override void ProcessRecord() context.SerialNumber = this.SerialNumber; context.AuthenticationValue = this.AuthenticationValue; + context.RequestPayer = this.RequestPayer; var output = Execute(context) as CmdletOutput; ProcessOutput(output); @@ -315,6 +328,11 @@ CmdletOutput DeleteSingleS3Object(ExecutorContext context) }; } + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + using (var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint)) { CmdletOutput output; @@ -385,6 +403,11 @@ CmdletOutput DeleteMultiS3Object(ExecutorContext context) }; } + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + using (var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint)) { CmdletOutput output; @@ -485,6 +508,8 @@ internal class CmdletContext : ExecutorContext public String AuthenticationValue { get; set; } public ChecksumAlgorithm ChecksumAlgorithm { get; set; } + + public RequestPayer RequestPayer { get; set; } } } } diff --git a/modules/AWSPowerShell/Cmdlets/S3/Advanced/Write-S3Object-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Advanced/Write-S3Object-Cmdlet.cs index ca03bdd805..ff4759d42e 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Advanced/Write-S3Object-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Advanced/Write-S3Object-Cmdlet.cs @@ -405,6 +405,18 @@ public class WriteS3ObjectCmdlet : AmazonS3ClientCmdlet, IExecutor public ChecksumAlgorithm ChecksumAlgorithm { get; set; } #endregion + #region Parameter RequestPayer + /// + /// + /// Confirms that the requester knows that they will be charged for the request. + /// Bucket owners need not specify this parameter in their requests. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.S3.RequestPayer")] + public Amazon.S3.RequestPayer RequestPayer { get; set; } + #endregion + #endregion #region TransferUtility Params @@ -575,6 +587,8 @@ protected override void ProcessRecord() if (!string.IsNullOrEmpty(this.IfNoneMatch)) context.IfNoneMatch = this.IfNoneMatch; + context.RequestPayer = this.RequestPayer; + var output = Execute(context) as CmdletOutput; ProcessOutput(output); } @@ -585,7 +599,7 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; - if (!string.IsNullOrEmpty(cmdletContext.File) || cmdletContext.Stream!=null) + if (!string.IsNullOrEmpty(cmdletContext.File) || cmdletContext.Stream != null) return UploadFileToS3(cmdletContext); if (!string.IsNullOrEmpty(cmdletContext.Content)) @@ -645,6 +659,11 @@ CmdletOutput UploadTextToS3(ExecutorContext context) request.CalculateContentMD5Header = cmdletContext.CalculateContentMD5Header; + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + AmazonS3Helper.SetMetadataAndHeaders(request, cmdletContext.Metadata, cmdletContext.Headers); CmdletOutput output; @@ -679,11 +698,11 @@ private CmdletOutput UploadFileToS3(ExecutorContext context) { request.FilePath = cmdletContext.File; } - else if(cmdletContext.Stream!=null) + else if (cmdletContext.Stream != null) { _Stream = Amazon.PowerShell.Common.StreamParameterConverter.TransformToStream(cmdletContext.Stream); request.InputStream = _Stream; - } + } if (cmdletContext.CannedACL != null) request.CannedACL = cmdletContext.CannedACL.Value; @@ -714,6 +733,11 @@ private CmdletOutput UploadFileToS3(ExecutorContext context) if (cmdletContext.PartSize != null) request.PartSize = cmdletContext.PartSize.Value; + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + var transferUtilityConfig = new TransferUtilityConfig(); if (cmdletContext.ConcurrentServiceRequests.HasValue) transferUtilityConfig.ConcurrentServiceRequests = cmdletContext.ConcurrentServiceRequests.Value; @@ -775,6 +799,11 @@ private CmdletOutput UploadFolderToS3(ExecutorContext context) request.CalculateContentMD5Header = cmdletContext.CalculateContentMD5Header; + if (cmdletContext.RequestPayer != null) + { + request.RequestPayer = cmdletContext.RequestPayer; + } + AmazonS3Helper.SetExtraRequestFields(request, cmdletContext); CmdletOutput output; @@ -862,6 +891,8 @@ internal class CmdletContext : ExecutorContext public long? PartSize { get; set; } public String IfNoneMatch { get; set; } + + public RequestPayer RequestPayer { get; set; } } #region Progress Trackers diff --git a/modules/AWSPowerShell/Cmdlets/S3/AmazonS3ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/AmazonS3ClientCmdlet.cs index 2abb73bf86..e0c4b87759 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/AmazonS3ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/AmazonS3ClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonS3 CreateClient(AWSCredentials credentials, RegionEndpoint regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonS3Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3BucketEncryption-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3BucketEncryption-Cmdlet.cs index 6b70e3debc..b00ae94ca1 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3BucketEncryption-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3BucketEncryption-Cmdlet.cs @@ -28,21 +28,33 @@ namespace Amazon.PowerShell.Cmdlets.S3 { /// - /// - /// This operation is not supported by directory buckets. - /// /// Returns the default encryption configuration for an Amazon S3 bucket. By default, /// all buckets have a default encryption configuration that uses server-side encryption - /// with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption + /// with Amazon S3 managed keys (SSE-S3). + /// + ///
    Permissions
    • General purpose bucket permissions - The s3:GetEncryptionConfiguration + /// permission is required in a policy. The bucket owner has this permission by default. + /// The bucket owner can grant this permission to others. For more information about permissions, + /// see Permissions + /// Related to Bucket Operations and Managing /// Access Permissions to Your Amazon S3 Resources. - /// + ///
    • Directory bucket permissions - To grant access to this API operation, you + /// must have the s3express:GetEncryptionConfiguration permission in an IAM identity-based + /// policy instead of a bucket policy. Cross-account access to this API operation isn't + /// supported. This operation can only be performed by the Amazon Web Services account + /// that owns the resource. For more information about directory bucket policies and permissions, + /// see Amazon + /// Web Services Identity and Access Management (IAM) for S3 Express One Zone in the + /// Amazon S3 User Guide. + ///
    HTTP Host header syntax
    Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com. + ///
    /// The following operations are related to GetBucketEncryption: /// ///
    @@ -63,7 +75,15 @@ public partial class GetS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExecut #region Parameter BucketName /// /// - /// The name of the bucket. + /// The name of the bucket from which the server-side encryption configuration is retrieved.Directory buckets - When you use this operation with a directory bucket, you must use path-style requests + /// in the format https://s3express-control.region_code.amazonaws.com/bucket-name. + /// + /// Virtual-hosted-style requests aren't supported. + /// Directory bucket names must be unique in the chosen Availability Zone. + /// Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). + /// + /// For information about bucket naming restrictions, see Directory bucket naming rules + /// in the Amazon S3 User Guide. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -75,7 +95,8 @@ public partial class GetS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExecut /// /// The account ID of the expected bucket owner. If the account ID that you provide does /// not match the actual owner of the bucket, the request fails with the HTTP status code - /// 403 Forbidden (access denied). + /// 403 Forbidden (access denied).For directory buckets, this header is not supported in this API operation. + /// If you specify this header, the request fails with the HTTP status code 501 Not Implemented. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectAttribute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectAttribute-Cmdlet.cs index c3693998d9..7cbf2cffba 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectAttribute-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectAttribute-Cmdlet.cs @@ -41,8 +41,8 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// and Zonal endpoints in the Amazon S3 User Guide. ///
    Permissions
    • General purpose bucket permissions - To use GetObjectAttributes, you /// must have READ access to the object. The permissions that you need to use this operation - /// with depend on whether the bucket is versioned. If the bucket is versioned, you need - /// both the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions + /// depend on whether the bucket is versioned. If the bucket is versioned, you need both + /// the s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions /// for this operation. If the bucket is not versioned, you need the s3:GetObject /// and s3:GetObjectAttributes permissions. For more information, see Specifying /// Permissions in a Policy in the Amazon S3 User Guide. If the object that @@ -64,6 +64,10 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// use. Amazon Web Services CLI or SDKs create session and refresh the session token /// automatically to avoid service interruptions when a session expires. For more information /// about authorization, see CreateSession. + /// + /// If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey + /// and kms:Decrypt permissions in IAM identity-based policies and KMS key policies + /// for the KMS key. ///
    Encryption
    /// Encryption request headers, like x-amz-server-side-encryption, should not be /// sent for HEAD requests if your object uses server-side encryption with Key @@ -83,8 +87,16 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// For more information about SSE-C, see Server-Side /// Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User /// Guide. - /// Directory bucket permissions - For directory buckets, only server-side encryption - /// with Amazon S3 managed keys (SSE-S3) (AES256) is supported. + /// Directory bucket permissions - For directory buckets, there are only two supported + /// options for server-side encryption: server-side encryption with Amazon S3 managed + /// keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). + /// We recommend that the bucket's default encryption uses the desired encryption configuration + /// and you don't override the bucket default encryption in your CreateSession + /// requests or PUT object requests. Then, new objects are automatically encrypted + /// with the desired encryption settings. For more information, see Protecting + /// data with server-side encryption in the Amazon S3 User Guide. For more + /// information about the encryption overriding behaviors in directory buckets, see Specifying + /// server-side encryption with KMS for new object uploads. ///
    Versioning
    Directory buckets - S3 Versioning isn't enabled and supported for directory /// buckets. For this API operation, only the null value of the version ID is supported /// by directory buckets. You can only specify null to the versionId query diff --git a/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectMetadata-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectMetadata-Cmdlet.cs index c5dd4cff97..94970b0b06 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectMetadata-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Basic/Get-S3ObjectMetadata-Cmdlet.cs @@ -64,6 +64,12 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// use. Amazon Web Services CLI or SDKs create session and refresh the session token /// automatically to avoid service interruptions when a session expires. For more information /// about authorization, see CreateSession. + /// + /// If you enable x-amz-checksum-mode in the request and the object is encrypted + /// with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must + /// also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM + /// identity-based policies and KMS key policies for the KMS key to retrieve the checksum + /// of the object. ///
    Encryption
    /// Encryption request headers, like x-amz-server-side-encryption, should not be /// sent for HEAD requests if your object uses server-side encryption with Key @@ -83,8 +89,10 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// For more information about SSE-C, see Server-Side /// Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User /// Guide. - /// Directory bucket permissions - For directory buckets, only server-side encryption - /// with Amazon S3 managed keys (SSE-S3) (AES256) is supported. + /// Directory bucket - For directory buckets, there are only two supported options + /// for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more information, + /// see Protecting + /// data with server-side encryption in the Amazon S3 User Guide. ///
    Versioning
    • /// If the current version of the object is a delete marker, Amazon S3 behaves as if the /// object was deleted and includes x-amz-delete-marker: true in the response. @@ -152,9 +160,10 @@ public partial class GetS3ObjectMetadataCmdlet : AmazonS3ClientCmdlet, IExecutor #region Parameter ChecksumMode /// /// - /// This must be enabled to retrieve the checksum.In addition, if you enable ChecksumMode and the object is KMS encrypted, - /// you must have permission to the kms:Decrypt action for the request to - /// succeed. + /// This must be enabled to retrieve the checksum.General purpose buckets - If you enable checksum mode and the object is uploaded with a checksum + /// and encrypted with an Key Management Service (KMS) key, you must have permission to use the kms:Decrypt action to retrieve the checksum.Directory buckets - If you enable ChecksumMode and the object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), + /// you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key to retrieve the + /// checksum of the object. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/S3/Basic/New-S3Session-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Basic/New-S3Session-Cmdlet.cs index 868c8e4a13..be12206212 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Basic/New-S3Session-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Basic/New-S3Session-Cmdlet.cs @@ -29,9 +29,9 @@ namespace Amazon.PowerShell.Cmdlets.S3 { /// /// Creates a session that establishes temporary security credentials to support fast - /// authentication and authorization for the Zonal endpoint APIs on directory buckets. - /// For more information about Zonal endpoint APIs that include the Availability Zone - /// in the request endpoint, see S3 + /// authentication and authorization for the Zonal endpoint API operations on directory + /// buckets. For more information about Zonal endpoint API operations that include the + /// Availability Zone in the request endpoint, see S3 /// Express One Zone APIs in the Amazon S3 User Guide. /// /// @@ -42,16 +42,16 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// to make the CreateSession API request on the bucket, which returns temporary /// security credentials that include the access key ID, secret access key, session token, /// and expiration. These credentials have associated permissions to access the Zonal - /// endpoint APIs. After the session is created, you don’t need to use other policies - /// to grant permissions to each Zonal endpoint API individually. Instead, in your Zonal - /// endpoint API requests, you sign your requests by applying the temporary security credentials - /// of the session to the request headers and following the SigV4 protocol for authentication. - /// You also apply the session token to the x-amz-s3session-token request header - /// for authorization. Temporary security credentials are scoped to the bucket and expire - /// after 5 minutes. After the expiration time, any calls that you make with those credentials - /// will fail. You must use IAM credentials again to make a CreateSession API request - /// that generates a new set of temporary credentials for use. Temporary credentials cannot - /// be extended or refreshed beyond the original specified interval. + /// endpoint API operations. After the session is created, you don’t need to use other + /// policies to grant permissions to each Zonal endpoint API individually. Instead, in + /// your Zonal endpoint API requests, you sign your requests by applying the temporary + /// security credentials of the session to the request headers and following the SigV4 + /// protocol for authentication. You also apply the session token to the x-amz-s3session-token + /// request header for authorization. Temporary security credentials are scoped to the + /// bucket and expire after 5 minutes. After the expiration time, any calls that you make + /// with those credentials will fail. You must use IAM credentials again to make a CreateSession + /// API request that generates a new set of temporary credentials for use. Temporary credentials + /// cannot be extended or refreshed beyond the original specified interval. /// /// If you use Amazon Web Services SDKs, SDKs handle the session token refreshes automatically /// to avoid service interruptions when a session expires. We recommend that you use the @@ -63,16 +63,16 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com. /// Path-style requests are not supported. For more information, see Regional /// and Zonal endpoints in the Amazon S3 User Guide. - ///
    • CopyObject API operation - Unlike other Zonal endpoint APIs, the CopyObject - /// API operation doesn't use the temporary security credentials returned from the CreateSession - /// API operation for authentication and authorization. For information about authentication - /// and authorization of the CopyObject API operation on directory buckets, see - /// CopyObject. - ///
    • HeadBucket API operation - Unlike other Zonal endpoint APIs, the HeadBucket - /// API operation doesn't use the temporary security credentials returned from the CreateSession - /// API operation for authentication and authorization. For information about authentication - /// and authorization of the HeadBucket API operation on directory buckets, see - /// HeadBucket. + ///
    • CopyObject API operation - Unlike other Zonal endpoint API operations, + /// the CopyObject API operation doesn't use the temporary security credentials + /// returned from the CreateSession API operation for authentication and authorization. + /// For information about authentication and authorization of the CopyObject API + /// operation on directory buckets, see CopyObject. + ///
    • HeadBucket API operation - Unlike other Zonal endpoint API operations, + /// the HeadBucket API operation doesn't use the temporary security credentials + /// returned from the CreateSession API operation for authentication and authorization. + /// For information about authentication and authorization of the HeadBucket API + /// operation on directory buckets, see HeadBucket. ///
    Permissions
    /// To obtain temporary security credentials, you must create a bucket policy or an IAM /// identity-based policy that grants s3express:CreateSession permission to the @@ -83,9 +83,61 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// Web Services Identity and Access Management (IAM) identity-based policies for S3 Express /// One Zone in the Amazon S3 User Guide. /// - /// To grant cross-account access to Zonal endpoint APIs, the bucket policy should also - /// grant both accounts the s3express:CreateSession permission. - ///
    HTTP Host header syntax
    Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com. + /// To grant cross-account access to Zonal endpoint API operations, the bucket policy + /// should also grant both accounts the s3express:CreateSession permission. + /// + /// If you want to encrypt objects with SSE-KMS, you must also have the kms:GenerateDataKey + /// and the kms:Decrypt permissions in IAM identity-based policies and KMS key + /// policies for the target KMS key. + ///
    Encryption
    + /// For directory buckets, there are only two supported options for server-side encryption: + /// server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side + /// encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's + /// default encryption uses the desired encryption configuration and you don't override + /// the bucket default encryption in your CreateSession requests or PUT + /// object requests. Then, new objects are automatically encrypted with the desired encryption + /// settings. For more information, see Protecting + /// data with server-side encryption in the Amazon S3 User Guide. For more + /// information about the encryption overriding behaviors in directory buckets, see Specifying + /// server-side encryption with KMS for new object uploads. + /// + /// For Zonal + /// endpoint (object-level) API operations except CopyObject + /// and UploadPartCopy, + /// you authenticate and authorize requests through CreateSession + /// for low latency. To encrypt new objects in a directory bucket with SSE-KMS, you must + /// specify SSE-KMS as the directory bucket's default encryption configuration with a + /// KMS key (specifically, a customer + /// managed key). Then, when a session is created for Zonal endpoint API operations, + /// new objects are automatically encrypted and decrypted with SSE-KMS and S3 Bucket Keys + /// during the session. + /// + /// Only 1 customer + /// managed key is supported per directory bucket for the lifetime of the bucket. + /// Amazon + /// Web Services managed key (aws/s3) isn't supported. After you specify SSE-KMS + /// as your bucket's default encryption configuration with a customer managed key, you + /// can't change the customer managed key for the bucket's SSE-KMS configuration. + /// + /// In the Zonal endpoint API calls (except CopyObject + /// and UploadPartCopy) + /// using the REST API, you can't override the values of the encryption settings (x-amz-server-side-encryption, + /// x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, + /// and x-amz-server-side-encryption-bucket-key-enabled) from the CreateSession + /// request. You don't need to explicitly specify these encryption settings values in + /// Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from + /// the CreateSession request to protect new objects in the directory bucket. + /// + /// When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the + /// session token refreshes automatically to avoid service interruptions when a session + /// expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption + /// configuration for the CreateSession request. It's not supported to override + /// the encryption settings values in the CreateSession request. Also, in the Zonal + /// endpoint API calls (except CopyObject + /// and UploadPartCopy), + /// it's not supported to override the values of the encryption settings from the CreateSession + /// request. + ///
    HTTP Host header syntax
    Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com. ///
    ///
    [Cmdlet("New", "S3Session", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -98,24 +150,55 @@ namespace Amazon.PowerShell.Cmdlets.S3 public partial class NewS3SessionCmdlet : AmazonS3ClientCmdlet, IExecutor { + protected override bool IsSensitiveRequest { get; set; } = true; + protected override bool IsSensitiveResponse { get; set; } = true; protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter BucketKeyEnabled + /// + /// + /// Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using KMS keys (SSE-KMS).S3 Bucket Keys are always enabled for GET and PUT operations in a directory bucket and can't be disabled. + /// S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, + /// through CopyObject, UploadPartCopy, + /// the Copy operation in Batch Operations, or the import jobs. + /// In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? BucketKeyEnabled { get; set; } + #endregion + #region Parameter BucketName /// /// - /// The service has not provided documentation for this parameter; please refer to the service's API reference documentation for the latest available information. + /// The name of the bucket that you create a session for. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] public System.String BucketName { get; set; } #endregion + #region Parameter ServerSideEncryption + /// + /// + /// The server-side encryption algorithm to use when you store objects in the directory bucket.For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). + /// By default, Amazon S3 encrypts data with SSE-S3. For more information, see Protecting data with server-side encryption in the Amazon S3 User Guide. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.S3.ServerSideEncryptionMethod")] + public Amazon.S3.ServerSideEncryptionMethod ServerSideEncryption { get; set; } + #endregion + #region Parameter SessionMode /// /// - /// The service has not provided documentation for this parameter; please refer to the service's API reference documentation for the latest available information. + /// Specifies the mode of the session that will be created, either ReadWrite or ReadOnly. By default, a ReadWrite session is created. + /// + /// A ReadWrite session is capable of executing all the Zonal endpoint API operations on a directory bucket. + /// A ReadOnly session is constrained to execute the following Zonal endpoint API operations: GetObject, HeadObject, ListObjectsV2, GetObjectAttributes, ListParts, and ListMultipartUploads. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -123,6 +206,32 @@ public partial class NewS3SessionCmdlet : AmazonS3ClientCmdlet, IExecutor public Amazon.S3.SessionMode SessionMode { get; set; } #endregion + #region Parameter SSEKMSEncryptionContext + /// + /// + /// Specifies the Amazon Web Services KMS Encryption Context as an additional encryption context to use for object encryption. + /// The value of this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. + /// This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future GetObject operations on this object.General purpose buckets - This value must be explicitly added during CopyObject operations if you want an additional encryption context for your object. + /// For more information, see Encryption context in the Amazon S3 User Guide.Directory buckets - You can optionally provide an explicit encryption context value. The value must match the default encryption context - the bucket Amazon Resource Name (ARN). + /// An additional encryption context value is not supported. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SSEKMSEncryptionContext { get; set; } + #endregion + + #region Parameter SSEKMSKeyId + /// + /// + /// If you specify x-amz-server-side-encryption with aws:kms, you must specify the x-amz-server-side-encryption-aws-kms-key-id header with the ID (Key ID or Key ARN) of the KMS symmetric encryption customer managed key to use. + /// Otherwise, you get an HTTP 400 Bad Request error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. + /// Also, if the KMS key doesn't exist in the same account that't issuing the command, you must use the full Key ARN not the Key ID. Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. Amazon Web Services managed key (aws/s3) isn't supported. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SSEKMSKeyId { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'Credentials'. @@ -187,6 +296,10 @@ protected override void ProcessRecord() #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.BucketName = this.BucketName; context.SessionMode = this.SessionMode; + context.ServerSideEncryption = this.ServerSideEncryption; + context.SSEKMSKeyId = this.SSEKMSKeyId; + context.SSEKMSEncryptionContext = this.SSEKMSEncryptionContext; + context.BucketKeyEnabled = this.BucketKeyEnabled; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -211,6 +324,22 @@ public object Execute(ExecutorContext context) { request.SessionMode = cmdletContext.SessionMode; } + if (cmdletContext.ServerSideEncryption != null) + { + request.ServerSideEncryption = cmdletContext.ServerSideEncryption; + } + if (cmdletContext.SSEKMSKeyId != null) + { + request.SSEKMSKeyId = cmdletContext.SSEKMSKeyId; + } + if (cmdletContext.SSEKMSEncryptionContext != null) + { + request.SSEKMSEncryptionContext = cmdletContext.SSEKMSEncryptionContext; + } + if (cmdletContext.BucketKeyEnabled != null) + { + request.BucketKeyEnabled = cmdletContext.BucketKeyEnabled.Value; + } CmdletOutput output; @@ -274,6 +403,10 @@ internal partial class CmdletContext : ExecutorContext { public System.String BucketName { get; set; } public Amazon.S3.SessionMode SessionMode { get; set; } + public Amazon.S3.ServerSideEncryptionMethod ServerSideEncryption { get; set; } + public System.String SSEKMSKeyId { get; set; } + public System.String SSEKMSEncryptionContext { get; set; } + public System.Boolean? BucketKeyEnabled { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.Credentials; } diff --git a/modules/AWSPowerShell/Cmdlets/S3/Basic/Remove-S3BucketEncryption-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Basic/Remove-S3BucketEncryption-Cmdlet.cs index f53c9e3a2d..e5a5dd8b85 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Basic/Remove-S3BucketEncryption-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Basic/Remove-S3BucketEncryption-Cmdlet.cs @@ -28,20 +28,32 @@ namespace Amazon.PowerShell.Cmdlets.S3 { /// - /// - /// This operation is not supported by directory buckets. - /// /// This implementation of the DELETE action resets the default encryption for the bucket - /// as server-side encryption with Amazon S3 managed keys (SSE-S3). For information about - /// the bucket default encryption feature, see Amazon + /// as server-side encryption with Amazon S3 managed keys (SSE-S3). + /// + ///
    Permissions
    • General purpose bucket permissions - The s3:PutEncryptionConfiguration + /// permission is required in a policy. The bucket owner has this permission by default. + /// The bucket owner can grant this permission to others. For more information about permissions, + /// see Permissions + /// Related to Bucket Operations and Managing + /// Access Permissions to Your Amazon S3 Resources. + ///
    • Directory bucket permissions - To grant access to this API operation, you + /// must have the s3express:PutEncryptionConfiguration permission in an IAM identity-based + /// policy instead of a bucket policy. Cross-account access to this API operation isn't + /// supported. This operation can only be performed by the Amazon Web Services account + /// that owns the resource. For more information about directory bucket policies and permissions, + /// see Amazon + /// Web Services Identity and Access Management (IAM) for S3 Express One Zone in the + /// Amazon S3 User Guide. + ///
    HTTP Host header syntax
    Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com. + ///
    /// The following operations are related to DeleteBucketEncryption: /// ///
    @@ -60,7 +72,15 @@ public partial class RemoveS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExe #region Parameter BucketName /// /// - /// The name of the bucket containing the server-side encryption configuration to delete. + /// The name of the bucket containing the server-side encryption configuration to delete.Directory buckets - When you use this operation with a directory bucket, you must use path-style requests + /// in the format https://s3express-control.region_code.amazonaws.com/bucket-name. + /// + /// Virtual-hosted-style requests aren't supported. + /// Directory bucket names must be unique in the chosen Availability Zone. + /// Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). + /// + /// For information about bucket naming restrictions, see Directory bucket naming rules + /// in the Amazon S3 User Guide. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -72,7 +92,8 @@ public partial class RemoveS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExe /// /// The account ID of the expected bucket owner. If the account ID that you provide does /// not match the actual owner of the bucket, the request fails with the HTTP status code - /// 403 Forbidden (access denied). + /// 403 Forbidden (access denied).For directory buckets, this header is not supported in this API operation. + /// If you specify this header, the request fails with the HTTP status code 501 Not Implemented. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/S3/Basic/Set-S3BucketEncryption-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3/Basic/Set-S3BucketEncryption-Cmdlet.cs index 7a5713998e..2334960894 100644 --- a/modules/AWSPowerShell/Cmdlets/S3/Basic/Set-S3BucketEncryption-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3/Basic/Set-S3BucketEncryption-Cmdlet.cs @@ -28,22 +28,60 @@ namespace Amazon.PowerShell.Cmdlets.S3 { /// - /// - /// This operation is not supported by directory buckets. + /// This operation configures default encryption and Amazon S3 Bucket Keys for an existing + /// bucket. + /// + /// Directory buckets - For directory buckets, you must make requests for this + /// API operation to the Regional endpoint. These endpoints support path-style requests + /// in the format https://s3express-control.region_code.amazonaws.com/bucket-name. Virtual-hosted-style requests aren't supported. For more information, see Regional + /// and Zonal endpoints in the Amazon S3 User Guide. /// - /// This action uses the encryption subresource to configure default encryption - /// and Amazon S3 Bucket Keys for an existing bucket. - /// /// By default, all buckets have a default encryption configuration that uses server-side - /// encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default - /// encryption for a bucket by using server-side encryption with Key Management Service - /// (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services - /// KMS keys (DSSE-KMS). If you specify default encryption by using SSE-KMS, you can also - /// configure Amazon - /// S3 Bucket Keys. If you use PutBucketEncryption to set your default + /// encryption with Amazon S3 managed keys (SSE-S3). + /// /// If you're specifying a customer managed KMS key, we recommend using a fully qualified /// KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within /// the requester’s account. This behavior can result in data that's encrypted with a @@ -52,14 +90,26 @@ namespace Amazon.PowerShell.Cmdlets.S3 /// Also, this action requires Amazon Web Services Signature Version 4. For more information, /// see /// Authenticating Requests (Amazon Web Services Signature Version 4). - /// - /// To use this operation, you must have permission to perform the s3:PutEncryptionConfiguration - /// action. The bucket owner has this permission by default. The bucket owner can grant - /// this permission to others. For more information about permissions, see Permissions - /// Related to Bucket Subresource Operations and Managing + ///
    Permissions
    HTTP Host header syntax
    Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com. + ///
    /// The following operations are related to PutBucketEncryption: /// ///
    @@ -80,13 +130,15 @@ public partial class SetS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExecut #region Parameter BucketName /// /// - /// Specifies default encryption for a bucket using server-side encryption with different - /// key options. By default, all buckets have a default encryption configuration that - /// uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally - /// configure default encryption for a bucket by using server-side encryption with an - /// Amazon Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). For information - /// about the bucket default encryption feature, see Amazon - /// S3 Bucket Default Encryption in the Amazon S3 User Guide. + /// Specifies default encryption for a bucket using server-side encryption with different key options.Directory buckets - When you use this operation with a directory bucket, you must use path-style requests + /// in the format https://s3express-control.region_code.amazonaws.com/bucket-name. + /// + /// Virtual-hosted-style requests aren't supported. + /// Directory bucket names must be unique in the chosen Availability Zone. + /// Bucket names must also follow the format bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). + /// + /// For information about bucket naming restrictions, see Directory bucket naming rules + /// in the Amazon S3 User Guide. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -98,12 +150,12 @@ public partial class SetS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExecut /// /// Indicates the algorithm used to create the checksum for the object when you use the /// SDK. This header will not provide any additional functionality if you don't use the - /// SDK. When you send this header, there must be a corresponding x-amz-checksum - /// or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request - /// with the HTTP status code 400 Bad Request. For more information, see + /// SDK. When you send this header, there must be a corresponding x-amz-checksum + /// or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request + /// with the HTTP status code 400 Bad Request. For more information, see /// Checking - /// object integrity in the Amazon S3 User Guide.If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm - /// parameter. + /// object integrity in the Amazon S3 User Guide.If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm + /// parameter.For directory buckets, when you use Amazon Web Services SDKs, CRC32 is the default checksum algorithm that's used for performance. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -115,7 +167,7 @@ public partial class SetS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExecut /// /// /// The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon - /// Web Services SDKs, this field is calculated automatically. + /// Web Services SDKs, this field is calculated automatically.This functionality is not supported for directory buckets. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -127,7 +179,8 @@ public partial class SetS3BucketEncryptionCmdlet : AmazonS3ClientCmdlet, IExecut /// /// The account ID of the expected bucket owner. If the account ID that you provide does /// not match the actual owner of the bucket, the request fails with the HTTP status code - /// 403 Forbidden (access denied). + /// 403 Forbidden (access denied).For directory buckets, this header is not supported in this API operation. + /// If you specify this header, the request fails with the HTTP status code 501 Not Implemented. ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.Completers.psm1 index 185b93b41c..dc9545a267 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.Completers.psm1 @@ -418,6 +418,7 @@ $S3C_SelectMap = @{ "Get-S3CAccessGrantsLocationList", "Get-S3CAccessPointList", "Get-S3CAccessPointsForObjectLambdaList", + "Get-S3CCallerAccessGrantList", "Get-S3CJobList", "Get-S3CMultiRegionAccessPointList", "Get-S3CRegionalBucketList", diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.psd1 b/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.psd1 index 40a330654a..17de7a0d1f 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.psd1 +++ b/modules/AWSPowerShell/Cmdlets/S3Control/AWS.Tools.S3Control.psd1 @@ -114,6 +114,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-S3CBucketReplication', 'Get-S3CBucketTagging', 'Get-S3CBucketVersioning', + 'Get-S3CCallerAccessGrantList', 'Get-S3CDataAccess', 'Get-S3CJob', 'Get-S3CJobList', diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/AmazonS3ControlClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/AmazonS3ControlClientCmdlet.cs index d452e3d693..411bdfd2cc 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/AmazonS3ControlClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/AmazonS3ControlClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonS3Control CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonS3ControlConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Add-S3CPublicAccessBlock-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Add-S3CPublicAccessBlock-Cmdlet.cs index d1694af964..c027303775 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Add-S3CPublicAccessBlock-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Add-S3CPublicAccessBlock-Cmdlet.cs @@ -112,8 +112,8 @@ public partial class AddS3CPublicAccessBlockCmdlet : AmazonS3ControlClientCmdlet /// /// Specifies whether Amazon S3 should restrict public bucket policies for buckets in /// this account. Setting this element to TRUE restricts access to buckets with - /// public policies to only Amazon Web Service principals and authorized users within - /// this account.Enabling this setting doesn't affect previously stored bucket policies, except that + /// public policies to only Amazon Web Servicesservice principals and authorized users + /// within this account.Enabling this setting doesn't affect previously stored bucket policies, except that /// public and cross-account access within any public bucket policy, including non-public /// delegation to specific accounts, is blocked.This property is not supported for Amazon S3 on Outposts. /// diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Connect-S3CAccessGrantsIdentityCenter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Connect-S3CAccessGrantsIdentityCenter-Cmdlet.cs index d136d6deb7..b0a5770832 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Connect-S3CAccessGrantsIdentityCenter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Connect-S3CAccessGrantsIdentityCenter-Cmdlet.cs @@ -57,7 +57,7 @@ public partial class ConnectS3CAccessGrantsIdentityCenterCmdlet : AmazonS3Contro #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Disconnect-S3CAccessGrantsIdentityCenter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Disconnect-S3CAccessGrantsIdentityCenter-Cmdlet.cs index bb9024f540..a1434ea607 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Disconnect-S3CAccessGrantsIdentityCenter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Disconnect-S3CAccessGrantsIdentityCenter-Cmdlet.cs @@ -53,7 +53,7 @@ public partial class DisconnectS3CAccessGrantsIdentityCenterCmdlet : AmazonS3Con #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrant-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrant-Cmdlet.cs index 0e59d66945..461671153f 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrant-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrant-Cmdlet.cs @@ -66,7 +66,7 @@ public partial class GetS3CAccessGrantCmdlet : AmazonS3ControlClientCmdlet, IExe #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantList-Cmdlet.cs index 88bc3b0c89..a1f7d8c56f 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantList-Cmdlet.cs @@ -49,7 +49,7 @@ public partial class GetS3CAccessGrantListCmdlet : AmazonS3ControlClientCmdlet, #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstance-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstance-Cmdlet.cs index b95b2802bd..828a4dcd97 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstance-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstance-Cmdlet.cs @@ -33,7 +33,9 @@ namespace Amazon.PowerShell.Cmdlets.S3C ///
    Permissions
    /// You must have the s3:GetAccessGrantsInstance permission to use this operation. /// - ///
    + ///
    GetAccessGrantsInstance is not supported for cross-account access. You can + /// only call the API from the account that owns the S3 Access Grants instance. + /// ///
    [Cmdlet("Get", "S3CAccessGrantsInstance")] [OutputType("Amazon.S3Control.Model.GetAccessGrantsInstanceResponse")] @@ -49,7 +51,7 @@ public partial class GetS3CAccessGrantsInstanceCmdlet : AmazonS3ControlClientCmd #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceList-Cmdlet.cs index 23e028b650..dbe8b68321 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceList-Cmdlet.cs @@ -52,7 +52,7 @@ public partial class GetS3CAccessGrantsInstanceListCmdlet : AmazonS3ControlClien #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs index 6f2984be05..ed48114b2d 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs @@ -49,7 +49,7 @@ public partial class GetS3CAccessGrantsInstanceResourcePolicyCmdlet : AmazonS3Co #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocation-Cmdlet.cs index dcd061387d..553af5c95c 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocation-Cmdlet.cs @@ -70,7 +70,7 @@ public partial class GetS3CAccessGrantsLocationCmdlet : AmazonS3ControlClientCmd #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocationList-Cmdlet.cs index 5dd0b98280..0b48776129 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocationList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CAccessGrantsLocationList-Cmdlet.cs @@ -50,7 +50,7 @@ public partial class GetS3CAccessGrantsLocationListCmdlet : AmazonS3ControlClien #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CCallerAccessGrantList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CCallerAccessGrantList-Cmdlet.cs new file mode 100644 index 0000000000..4faf89edbc --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CCallerAccessGrantList-Cmdlet.cs @@ -0,0 +1,281 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.S3Control; +using Amazon.S3Control.Model; + +namespace Amazon.PowerShell.Cmdlets.S3C +{ + /// + /// Returns a list of the access grants that were given to the caller using S3 Access + /// Grants and that allow the caller to access the S3 data of the Amazon Web Services + /// account specified in the request. + /// + ///
    Permissions
    + /// You must have the s3:ListCallerAccessGrants permission to use this operation. + /// + ///
    + ///
    + [Cmdlet("Get", "S3CCallerAccessGrantList")] + [OutputType("Amazon.S3Control.Model.ListCallerAccessGrantsEntry")] + [AWSCmdlet("Calls the Amazon S3 Control ListCallerAccessGrants API operation.", Operation = new[] {"ListCallerAccessGrants"}, SelectReturnType = typeof(Amazon.S3Control.Model.ListCallerAccessGrantsResponse))] + [AWSCmdletOutput("Amazon.S3Control.Model.ListCallerAccessGrantsEntry or Amazon.S3Control.Model.ListCallerAccessGrantsResponse", + "This cmdlet returns a collection of Amazon.S3Control.Model.ListCallerAccessGrantsEntry objects.", + "The service call response (type Amazon.S3Control.Model.ListCallerAccessGrantsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetS3CCallerAccessGrantListCmdlet : AmazonS3ControlClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter AccountId + /// + /// + /// The Amazon Web Services account ID of the S3 Access Grants instance. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String AccountId { get; set; } + #endregion + + #region Parameter AllowedByApplication + /// + /// + /// If this optional parameter is passed in the request, a filter is applied to the results. + /// The results will include only the access grants for the caller's Identity Center application + /// or for any other applications (ALL). + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? AllowedByApplication { get; set; } + #endregion + + #region Parameter GrantScope + /// + /// + /// The S3 path of the data that you would like to access. Must start with s3://. + /// You can optionally pass only the beginning characters of a path, and S3 Access Grants + /// will search for all applicable grants for the path fragment. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String GrantScope { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of access grants that you would like returned in the List Caller + /// Access Grants response. If the results include the pagination token NextToken, + /// make another call using the NextToken to determine if there are more results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// A pagination token to request the next page of results. Pass this value into a subsequent + /// List Caller Access Grants request in order to retrieve the next page of results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'CallerAccessGrantsList'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.S3Control.Model.ListCallerAccessGrantsResponse). + /// Specifying the name of a property of type Amazon.S3Control.Model.ListCallerAccessGrantsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "CallerAccessGrantsList"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the AccountId parameter. + /// The -PassThru parameter is deprecated, use -Select '^AccountId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^AccountId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "s3v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.AccountId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AccountId = this.AccountId; + #if MODULAR + if (this.AccountId == null && ParameterWasBound(nameof(this.AccountId))) + { + WriteWarning("You are passing $null as a value for parameter AccountId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.AllowedByApplication = this.AllowedByApplication; + context.GrantScope = this.GrantScope; + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.S3Control.Model.ListCallerAccessGrantsRequest(); + + if (cmdletContext.AccountId != null) + { + request.AccountId = cmdletContext.AccountId; + } + if (cmdletContext.AllowedByApplication != null) + { + request.AllowedByApplication = cmdletContext.AllowedByApplication.Value; + } + if (cmdletContext.GrantScope != null) + { + request.GrantScope = cmdletContext.GrantScope; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.S3Control.Model.ListCallerAccessGrantsResponse CallAWSServiceOperation(IAmazonS3Control client, Amazon.S3Control.Model.ListCallerAccessGrantsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon S3 Control", "ListCallerAccessGrants"); + try + { + #if DESKTOP + return client.ListCallerAccessGrants(request); + #elif CORECLR + return client.ListCallerAccessGrantsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AccountId { get; set; } + public System.Boolean? AllowedByApplication { get; set; } + public System.String GrantScope { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.CallerAccessGrantsList; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CDataAccess-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CDataAccess-Cmdlet.cs index 9a567b8b2d..4c6c119fad 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CDataAccess-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Get-S3CDataAccess-Cmdlet.cs @@ -58,7 +58,7 @@ public partial class GetS3CDataAccessCmdlet : AmazonS3ControlClientCmdlet, IExec #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrant-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrant-Cmdlet.cs index fa283aa72c..a84fb0643d 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrant-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrant-Cmdlet.cs @@ -79,7 +79,7 @@ public partial class NewS3CAccessGrantCmdlet : AmazonS3ControlClientCmdlet, IExe #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsInstance-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsInstance-Cmdlet.cs index 63bdfdb8ba..ba22a9f401 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsInstance-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsInstance-Cmdlet.cs @@ -55,7 +55,7 @@ public partial class NewS3CAccessGrantsInstanceCmdlet : AmazonS3ControlClientCmd #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsLocation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsLocation-Cmdlet.cs index 3ae9e454d0..43853d8cd0 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsLocation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessGrantsLocation-Cmdlet.cs @@ -61,7 +61,7 @@ public partial class NewS3CAccessGrantsLocationCmdlet : AmazonS3ControlClientCmd #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessPoint-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessPoint-Cmdlet.cs index f63154a973..f9a98e10ca 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessPoint-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CAccessPoint-Cmdlet.cs @@ -179,8 +179,8 @@ public partial class NewS3CAccessPointCmdlet : AmazonS3ControlClientCmdlet, IExe /// /// Specifies whether Amazon S3 should restrict public bucket policies for buckets in /// this account. Setting this element to TRUE restricts access to buckets with - /// public policies to only Amazon Web Service principals and authorized users within - /// this account.Enabling this setting doesn't affect previously stored bucket policies, except that + /// public policies to only Amazon Web Servicesservice principals and authorized users + /// within this account.Enabling this setting doesn't affect previously stored bucket policies, except that /// public and cross-account access within any public bucket policy, including non-public /// delegation to specific accounts, is blocked.This property is not supported for Amazon S3 on Outposts. /// diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CJob-Cmdlet.cs index 1793f28a9d..17d06f3e4e 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CJob-Cmdlet.cs @@ -564,7 +564,8 @@ public partial class NewS3CJobCmdlet : AmazonS3ControlClientCmdlet, IExecutor /// /// /// If provided, the generated manifest includes objects where the specified string appears - /// at the start of the object key string. + /// at the start of the object key string. Each KeyNameConstraint filter accepts an array + /// of strings with a length of 1 string. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -588,7 +589,8 @@ public partial class NewS3CJobCmdlet : AmazonS3ControlClientCmdlet, IExecutor /// /// /// If provided, the generated manifest includes objects where the specified string appears - /// anywhere within the object key string. + /// anywhere within the object key string. Each KeyNameConstraint filter accepts an array + /// of strings with a length of 1 string. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -600,7 +602,8 @@ public partial class NewS3CJobCmdlet : AmazonS3ControlClientCmdlet, IExecutor /// /// /// If provided, the generated manifest includes objects where the specified string appears - /// at the end of the object key string. + /// at the end of the object key string. Each KeyNameConstraint filter accepts an array + /// of strings with a length of 1 string. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -886,7 +889,7 @@ public partial class NewS3CJobCmdlet : AmazonS3ControlClientCmdlet, IExecutor #region Parameter S3JobManifestGenerator_SourceBucket /// /// - /// The source bucket used by the ManifestGenerator.Directory buckets - Directory buckets aren't supported as the source buckets + /// The ARN of the source bucket used by the ManifestGenerator.Directory buckets - Directory buckets aren't supported as the source buckets /// used by S3JobManifestGenerator to generate the job manifest. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CMultiRegionAccessPoint-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CMultiRegionAccessPoint-Cmdlet.cs index ebc48ca071..42a7efdbb0 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CMultiRegionAccessPoint-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/New-S3CMultiRegionAccessPoint-Cmdlet.cs @@ -156,8 +156,8 @@ public partial class NewS3CMultiRegionAccessPointCmdlet : AmazonS3ControlClientC /// /// Specifies whether Amazon S3 should restrict public bucket policies for buckets in /// this account. Setting this element to TRUE restricts access to buckets with - /// public policies to only Amazon Web Service principals and authorized users within - /// this account.Enabling this setting doesn't affect previously stored bucket policies, except that + /// public policies to only Amazon Web Servicesservice principals and authorized users + /// within this account.Enabling this setting doesn't affect previously stored bucket policies, except that /// public and cross-account access within any public bucket policy, including non-public /// delegation to specific accounts, is blocked.This property is not supported for Amazon S3 on Outposts. /// diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrant-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrant-Cmdlet.cs index 1aa790d84f..86458c8d95 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrant-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrant-Cmdlet.cs @@ -68,7 +68,7 @@ public partial class RemoveS3CAccessGrantCmdlet : AmazonS3ControlClientCmdlet, I #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstance-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstance-Cmdlet.cs index 3c34fcd6ac..eae1d03af5 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstance-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstance-Cmdlet.cs @@ -56,7 +56,7 @@ public partial class RemoveS3CAccessGrantsInstanceCmdlet : AmazonS3ControlClient #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs index 946b0df7b8..0afb677b6e 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs @@ -53,7 +53,7 @@ public partial class RemoveS3CAccessGrantsInstanceResourcePolicyCmdlet : AmazonS #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsLocation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsLocation-Cmdlet.cs index 84ab7b9393..6ab9b7cabc 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsLocation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Remove-S3CAccessGrantsLocation-Cmdlet.cs @@ -75,7 +75,7 @@ public partial class RemoveS3CAccessGrantsLocationCmdlet : AmazonS3ControlClient #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Update-S3CAccessGrantsLocation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Update-S3CAccessGrantsLocation-Cmdlet.cs index a3625cd989..74de200981 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Update-S3CAccessGrantsLocation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Update-S3CAccessGrantsLocation-Cmdlet.cs @@ -75,7 +75,7 @@ public partial class UpdateS3CAccessGrantsLocationCmdlet : AmazonS3ControlClient #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Write-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Write-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs index 2c10599808..bce0886ea8 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Write-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Control/Basic/Write-S3CAccessGrantsInstanceResourcePolicy-Cmdlet.cs @@ -49,7 +49,7 @@ public partial class WriteS3CAccessGrantsInstanceResourcePolicyCmdlet : AmazonS3 #region Parameter AccountId /// /// - /// The ID of the Amazon Web Services account that is making this request. + /// The Amazon Web Services account ID of the S3 Access Grants instance. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/S3Outposts/AmazonS3OutpostsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/S3Outposts/AmazonS3OutpostsClientCmdlet.cs index 3aa0f899c0..3ffa57863a 100644 --- a/modules/AWSPowerShell/Cmdlets/S3Outposts/AmazonS3OutpostsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/S3Outposts/AmazonS3OutpostsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonS3Outposts CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonS3OutpostsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SQS/AmazonSQSClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SQS/AmazonSQSClientCmdlet.cs index fe31ae8cf6..71332a5cbf 100644 --- a/modules/AWSPowerShell/Cmdlets/SQS/AmazonSQSClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SQS/AmazonSQSClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSQS CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSQSConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SSMContacts/AmazonSSMContactsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SSMContacts/AmazonSSMContactsClientCmdlet.cs index 4e5ad58382..323328c72f 100644 --- a/modules/AWSPowerShell/Cmdlets/SSMContacts/AmazonSSMContactsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SSMContacts/AmazonSSMContactsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSSMContacts CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSSMContactsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SSMIncidents/AmazonSSMIncidentsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SSMIncidents/AmazonSSMIncidentsClientCmdlet.cs index a11b8a8965..66183bbbe6 100644 --- a/modules/AWSPowerShell/Cmdlets/SSMIncidents/AmazonSSMIncidentsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SSMIncidents/AmazonSSMIncidentsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSSMIncidents CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSSMIncidentsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SSMQuickSetup/AmazonSSMQuickSetupClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SSMQuickSetup/AmazonSSMQuickSetupClientCmdlet.cs index e88c336669..ae6f126ae1 100644 --- a/modules/AWSPowerShell/Cmdlets/SSMQuickSetup/AmazonSSMQuickSetupClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SSMQuickSetup/AmazonSSMQuickSetupClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSSMQuickSetup CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSSMQuickSetupConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SSO/AmazonSSOClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SSO/AmazonSSOClientCmdlet.cs index 24fd8e2439..a8babd02eb 100644 --- a/modules/AWSPowerShell/Cmdlets/SSO/AmazonSSOClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SSO/AmazonSSOClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSSO CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSSOConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SSOAdmin/AmazonSSOAdminClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SSOAdmin/AmazonSSOAdminClientCmdlet.cs index 01cf62ea75..d5604d937b 100644 --- a/modules/AWSPowerShell/Cmdlets/SSOAdmin/AmazonSSOAdminClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SSOAdmin/AmazonSSOAdminClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSSOAdmin CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSSOAdminConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SSOOIDC/AmazonSSOOIDCClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SSOOIDC/AmazonSSOOIDCClientCmdlet.cs index 58b522c584..7aa7bf616a 100644 --- a/modules/AWSPowerShell/Cmdlets/SSOOIDC/AmazonSSOOIDCClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SSOOIDC/AmazonSSOOIDCClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSSOOIDC CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSSOOIDCConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 index 1f659ed35a..b2377ec756 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 @@ -132,7 +132,7 @@ $SM_Completers = { ($_ -eq "Update-SMSpace/SpaceSettings_KernelGatewayAppSettings_DefaultResourceSpec_InstanceType") } { - $v = "ml.c5.12xlarge","ml.c5.18xlarge","ml.c5.24xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.large","ml.c5.xlarge","ml.c6i.12xlarge","ml.c6i.16xlarge","ml.c6i.24xlarge","ml.c6i.2xlarge","ml.c6i.32xlarge","ml.c6i.4xlarge","ml.c6i.8xlarge","ml.c6i.large","ml.c6i.xlarge","ml.c6id.12xlarge","ml.c6id.16xlarge","ml.c6id.24xlarge","ml.c6id.2xlarge","ml.c6id.32xlarge","ml.c6id.4xlarge","ml.c6id.8xlarge","ml.c6id.large","ml.c6id.xlarge","ml.c7i.12xlarge","ml.c7i.16xlarge","ml.c7i.24xlarge","ml.c7i.2xlarge","ml.c7i.48xlarge","ml.c7i.4xlarge","ml.c7i.8xlarge","ml.c7i.large","ml.c7i.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.g6.12xlarge","ml.g6.16xlarge","ml.g6.24xlarge","ml.g6.2xlarge","ml.g6.48xlarge","ml.g6.4xlarge","ml.g6.8xlarge","ml.g6.xlarge","ml.geospatial.interactive","ml.m5.12xlarge","ml.m5.16xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.8xlarge","ml.m5.large","ml.m5.xlarge","ml.m5d.12xlarge","ml.m5d.16xlarge","ml.m5d.24xlarge","ml.m5d.2xlarge","ml.m5d.4xlarge","ml.m5d.8xlarge","ml.m5d.large","ml.m5d.xlarge","ml.m6i.12xlarge","ml.m6i.16xlarge","ml.m6i.24xlarge","ml.m6i.2xlarge","ml.m6i.32xlarge","ml.m6i.4xlarge","ml.m6i.8xlarge","ml.m6i.large","ml.m6i.xlarge","ml.m6id.12xlarge","ml.m6id.16xlarge","ml.m6id.24xlarge","ml.m6id.2xlarge","ml.m6id.32xlarge","ml.m6id.4xlarge","ml.m6id.8xlarge","ml.m6id.large","ml.m6id.xlarge","ml.m7i.12xlarge","ml.m7i.16xlarge","ml.m7i.24xlarge","ml.m7i.2xlarge","ml.m7i.48xlarge","ml.m7i.4xlarge","ml.m7i.8xlarge","ml.m7i.large","ml.m7i.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.p4de.24xlarge","ml.p5.48xlarge","ml.r5.12xlarge","ml.r5.16xlarge","ml.r5.24xlarge","ml.r5.2xlarge","ml.r5.4xlarge","ml.r5.8xlarge","ml.r5.large","ml.r5.xlarge","ml.r6i.12xlarge","ml.r6i.16xlarge","ml.r6i.24xlarge","ml.r6i.2xlarge","ml.r6i.32xlarge","ml.r6i.4xlarge","ml.r6i.8xlarge","ml.r6i.large","ml.r6i.xlarge","ml.r6id.12xlarge","ml.r6id.16xlarge","ml.r6id.24xlarge","ml.r6id.2xlarge","ml.r6id.32xlarge","ml.r6id.4xlarge","ml.r6id.8xlarge","ml.r6id.large","ml.r6id.xlarge","ml.r7i.12xlarge","ml.r7i.16xlarge","ml.r7i.24xlarge","ml.r7i.2xlarge","ml.r7i.48xlarge","ml.r7i.4xlarge","ml.r7i.8xlarge","ml.r7i.large","ml.r7i.xlarge","ml.t3.2xlarge","ml.t3.large","ml.t3.medium","ml.t3.micro","ml.t3.small","ml.t3.xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge","system" + $v = "ml.c5.12xlarge","ml.c5.18xlarge","ml.c5.24xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.large","ml.c5.xlarge","ml.c6i.12xlarge","ml.c6i.16xlarge","ml.c6i.24xlarge","ml.c6i.2xlarge","ml.c6i.32xlarge","ml.c6i.4xlarge","ml.c6i.8xlarge","ml.c6i.large","ml.c6i.xlarge","ml.c6id.12xlarge","ml.c6id.16xlarge","ml.c6id.24xlarge","ml.c6id.2xlarge","ml.c6id.32xlarge","ml.c6id.4xlarge","ml.c6id.8xlarge","ml.c6id.large","ml.c6id.xlarge","ml.c7i.12xlarge","ml.c7i.16xlarge","ml.c7i.24xlarge","ml.c7i.2xlarge","ml.c7i.48xlarge","ml.c7i.4xlarge","ml.c7i.8xlarge","ml.c7i.large","ml.c7i.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.g6.12xlarge","ml.g6.16xlarge","ml.g6.24xlarge","ml.g6.2xlarge","ml.g6.48xlarge","ml.g6.4xlarge","ml.g6.8xlarge","ml.g6.xlarge","ml.g6e.12xlarge","ml.g6e.16xlarge","ml.g6e.24xlarge","ml.g6e.2xlarge","ml.g6e.48xlarge","ml.g6e.4xlarge","ml.g6e.8xlarge","ml.g6e.xlarge","ml.geospatial.interactive","ml.m5.12xlarge","ml.m5.16xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.8xlarge","ml.m5.large","ml.m5.xlarge","ml.m5d.12xlarge","ml.m5d.16xlarge","ml.m5d.24xlarge","ml.m5d.2xlarge","ml.m5d.4xlarge","ml.m5d.8xlarge","ml.m5d.large","ml.m5d.xlarge","ml.m6i.12xlarge","ml.m6i.16xlarge","ml.m6i.24xlarge","ml.m6i.2xlarge","ml.m6i.32xlarge","ml.m6i.4xlarge","ml.m6i.8xlarge","ml.m6i.large","ml.m6i.xlarge","ml.m6id.12xlarge","ml.m6id.16xlarge","ml.m6id.24xlarge","ml.m6id.2xlarge","ml.m6id.32xlarge","ml.m6id.4xlarge","ml.m6id.8xlarge","ml.m6id.large","ml.m6id.xlarge","ml.m7i.12xlarge","ml.m7i.16xlarge","ml.m7i.24xlarge","ml.m7i.2xlarge","ml.m7i.48xlarge","ml.m7i.4xlarge","ml.m7i.8xlarge","ml.m7i.large","ml.m7i.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.p4de.24xlarge","ml.p5.48xlarge","ml.r5.12xlarge","ml.r5.16xlarge","ml.r5.24xlarge","ml.r5.2xlarge","ml.r5.4xlarge","ml.r5.8xlarge","ml.r5.large","ml.r5.xlarge","ml.r6i.12xlarge","ml.r6i.16xlarge","ml.r6i.24xlarge","ml.r6i.2xlarge","ml.r6i.32xlarge","ml.r6i.4xlarge","ml.r6i.8xlarge","ml.r6i.large","ml.r6i.xlarge","ml.r6id.12xlarge","ml.r6id.16xlarge","ml.r6id.24xlarge","ml.r6id.2xlarge","ml.r6id.32xlarge","ml.r6id.4xlarge","ml.r6id.8xlarge","ml.r6id.large","ml.r6id.xlarge","ml.r7i.12xlarge","ml.r7i.16xlarge","ml.r7i.24xlarge","ml.r7i.2xlarge","ml.r7i.48xlarge","ml.r7i.4xlarge","ml.r7i.8xlarge","ml.r7i.large","ml.r7i.xlarge","ml.t3.2xlarge","ml.t3.large","ml.t3.medium","ml.t3.micro","ml.t3.small","ml.t3.xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge","system" break } @@ -316,6 +316,16 @@ $SM_Completers = { break } + # Amazon.SageMaker.ClusterNodeRecovery + { + ($_ -eq "New-SMCluster/NodeRecovery") -Or + ($_ -eq "Update-SMCluster/NodeRecovery") + } + { + $v = "Automatic","None" + break + } + # Amazon.SageMaker.ClusterSortBy { ($_ -eq "Get-SMClusterList/SortBy") -Or @@ -686,6 +696,16 @@ $SM_Completers = { break } + # Amazon.SageMaker.LifecycleManagement + { + ($_ -eq "New-SMDomain/IdleSettings_LifecycleManagement") -Or + ($_ -eq "Update-SMDomain/IdleSettings_LifecycleManagement") + } + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.SageMaker.ListCompilationJobsSortBy "Get-SMCompilationJobList/SortBy" { @@ -1364,6 +1384,16 @@ $SM_Completers = { break } + # Amazon.SageMaker.TagPropagation + { + ($_ -eq "New-SMDomain/TagPropagation") -Or + ($_ -eq "Update-SMDomain/TagPropagation") + } + { + $v = "DISABLED","ENABLED" + break + } + # Amazon.SageMaker.TargetDevice "New-SMCompilationJob/OutputConfig_TargetDevice" { @@ -1586,6 +1616,7 @@ $SM_map = @{ "HyperParameterTuningResourceConfig_InstanceType"=@("New-SMHyperParameterTuningJob") "IamPolicyConstraints_SourceIp"=@("New-SMWorkteam","Update-SMWorkteam") "IamPolicyConstraints_VpcSourceIp"=@("New-SMWorkteam","Update-SMWorkteam") + "IdleSettings_LifecycleManagement"=@("New-SMDomain","Update-SMDomain") "InferenceExecutionConfig_Mode"=@("New-SMModel") "InputConfig_Framework"=@("New-SMCompilationJob") "InstanceType"=@("New-SMNotebookInstance","Update-SMNotebookInstance") @@ -1598,6 +1629,7 @@ $SM_map = @{ "ModelPackageType"=@("Get-SMModelPackageList") "ModelQualityAppSpecification_ProblemType"=@("New-SMModelQualityJobDefinition") "MonitoringTypeEqual"=@("Get-SMMonitoringExecutionList","Get-SMMonitoringScheduleList") + "NodeRecovery"=@("New-SMCluster","Update-SMCluster") "OfflineStoreConfig_TableFormat"=@("New-SMFeatureGroup") "OfflineStoreStatusEqual"=@("Get-SMFeatureGroupList") "OnlineStoreConfig_StorageType"=@("New-SMFeatureGroup") @@ -1629,6 +1661,7 @@ $SM_map = @{ "StudioLifecycleConfigAppType"=@("New-SMStudioLifecycleConfig") "TabularJobConfig_Mode"=@("New-SMAutoMLJobV2") "TabularJobConfig_ProblemType"=@("New-SMAutoMLJobV2") + "TagPropagation"=@("New-SMDomain","Update-SMDomain") "TargetPlatform_Accelerator"=@("New-SMCompilationJob") "TargetPlatform_Arch"=@("New-SMCompilationJob") "TargetPlatform_Os"=@("New-SMCompilationJob") diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/AmazonSageMakerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/AmazonSageMakerClientCmdlet.cs index 6e90e56082..6bdf818dea 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/AmazonSageMakerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/AmazonSageMakerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSageMaker CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSageMakerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMCluster-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMCluster-Cmdlet.cs index 8cbab15f2c..8450910547 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMCluster-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMCluster-Cmdlet.cs @@ -46,6 +46,18 @@ public partial class NewSMClusterCmdlet : AmazonSageMakerClientCmdlet, IExecutor protected override bool IsGeneratedCmdlet { get; set; } = true; + #region Parameter Eks_ClusterArn + /// + /// + /// The Amazon Resource Name (ARN) of the Amazon EKS cluster associated with the SageMaker + /// HyperPod cluster. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Orchestrator_Eks_ClusterArn")] + public System.String Eks_ClusterArn { get; set; } + #endregion + #region Parameter ClusterName /// /// @@ -81,6 +93,20 @@ public partial class NewSMClusterCmdlet : AmazonSageMakerClientCmdlet, IExecutor public Amazon.SageMaker.Model.ClusterInstanceGroupSpecification[] InstanceGroup { get; set; } #endregion + #region Parameter NodeRecovery + /// + /// + /// The node recovery mode for the SageMaker HyperPod cluster. When set to Automatic, + /// SageMaker HyperPod will automatically reboot or replace faulty nodes when issues are + /// detected. When set to None, cluster administrators will need to manually manage + /// any faulty cluster instances. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.SageMaker.ClusterNodeRecovery")] + public Amazon.SageMaker.ClusterNodeRecovery NodeRecovery { get; set; } + #endregion + #region Parameter VpcConfig_SecurityGroupId /// /// @@ -200,6 +226,8 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter InstanceGroup which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.NodeRecovery = this.NodeRecovery; + context.Eks_ClusterArn = this.Eks_ClusterArn; if (this.Tag != null) { context.Tag = new List(this.Tag); @@ -236,6 +264,44 @@ public object Execute(ExecutorContext context) { request.InstanceGroups = cmdletContext.InstanceGroup; } + if (cmdletContext.NodeRecovery != null) + { + request.NodeRecovery = cmdletContext.NodeRecovery; + } + + // populate Orchestrator + var requestOrchestratorIsNull = true; + request.Orchestrator = new Amazon.SageMaker.Model.ClusterOrchestrator(); + Amazon.SageMaker.Model.ClusterOrchestratorEksConfig requestOrchestrator_orchestrator_Eks = null; + + // populate Eks + var requestOrchestrator_orchestrator_EksIsNull = true; + requestOrchestrator_orchestrator_Eks = new Amazon.SageMaker.Model.ClusterOrchestratorEksConfig(); + System.String requestOrchestrator_orchestrator_Eks_eks_ClusterArn = null; + if (cmdletContext.Eks_ClusterArn != null) + { + requestOrchestrator_orchestrator_Eks_eks_ClusterArn = cmdletContext.Eks_ClusterArn; + } + if (requestOrchestrator_orchestrator_Eks_eks_ClusterArn != null) + { + requestOrchestrator_orchestrator_Eks.ClusterArn = requestOrchestrator_orchestrator_Eks_eks_ClusterArn; + requestOrchestrator_orchestrator_EksIsNull = false; + } + // determine if requestOrchestrator_orchestrator_Eks should be set to null + if (requestOrchestrator_orchestrator_EksIsNull) + { + requestOrchestrator_orchestrator_Eks = null; + } + if (requestOrchestrator_orchestrator_Eks != null) + { + request.Orchestrator.Eks = requestOrchestrator_orchestrator_Eks; + requestOrchestratorIsNull = false; + } + // determine if request.Orchestrator should be set to null + if (requestOrchestratorIsNull) + { + request.Orchestrator = null; + } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; @@ -332,6 +398,8 @@ internal partial class CmdletContext : ExecutorContext { public System.String ClusterName { get; set; } public List InstanceGroup { get; set; } + public Amazon.SageMaker.ClusterNodeRecovery NodeRecovery { get; set; } + public System.String Eks_ClusterArn { get; set; } public List Tag { get; set; } public List VpcConfig_SecurityGroupId { get; set; } public List VpcConfig_Subnet { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMDomain-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMDomain-Cmdlet.cs index 43cb59e4cd..c233bcf1f0 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMDomain-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMDomain-Cmdlet.cs @@ -317,6 +317,18 @@ public partial class NewSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecutor public System.Int64? CustomPosixUserConfig_Gid { get; set; } #endregion + #region Parameter IdleSettings_IdleTimeoutInMinute + /// + /// + /// The time that SageMaker waits after the application becomes idle before shutting it + /// down. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes")] + public System.Int32? IdleSettings_IdleTimeoutInMinute { get; set; } + #endregion + #region Parameter DefaultSpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_InstanceType /// /// @@ -458,6 +470,29 @@ public partial class NewSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecutor public System.String[] KernelGatewayAppSettings_LifecycleConfigArn { get; set; } #endregion + #region Parameter IdleSettings_LifecycleManagement + /// + /// + /// Indicates whether idle shutdown is activated for the application type. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_LifecycleManagement")] + [AWSConstantClassSource("Amazon.SageMaker.LifecycleManagement")] + public Amazon.SageMaker.LifecycleManagement IdleSettings_LifecycleManagement { get; set; } + #endregion + + #region Parameter IdleSettings_MaxIdleTimeoutInMinute + /// + /// + /// The maximum value in minutes that custom idle shutdown can be set to by the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_MaxIdleTimeoutInMinutes")] + public System.Int32? IdleSettings_MaxIdleTimeoutInMinute { get; set; } + #endregion + #region Parameter DefaultEbsStorageSettings_MaximumEbsVolumeSizeInGb /// /// @@ -469,6 +504,17 @@ public partial class NewSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecutor public System.Int32? DefaultEbsStorageSettings_MaximumEbsVolumeSizeInGb { get; set; } #endregion + #region Parameter IdleSettings_MinIdleTimeoutInMinute + /// + /// + /// The minimum value in minutes that custom idle shutdown can be set to by the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_MinIdleTimeoutInMinutes")] + public System.Int32? IdleSettings_MinIdleTimeoutInMinute { get; set; } + #endregion + #region Parameter AmazonQSettings_QProfileArn /// /// @@ -682,6 +728,18 @@ public partial class NewSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecutor public System.String[] SubnetId { get; set; } #endregion + #region Parameter TagPropagation + /// + /// + /// Indicates whether custom tag propagation is supported for the domain. Defaults to + /// DISABLED. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.SageMaker.TagPropagation")] + public Amazon.SageMaker.TagPropagation TagPropagation { get; set; } + #endregion + #region Parameter Tag /// /// @@ -825,6 +883,10 @@ protected override void ProcessRecord() context.CustomPosixUserConfig_Gid = this.CustomPosixUserConfig_Gid; context.CustomPosixUserConfig_Uid = this.CustomPosixUserConfig_Uid; context.DefaultSpaceSettings_ExecutionRole = this.DefaultSpaceSettings_ExecutionRole; + context.IdleSettings_IdleTimeoutInMinute = this.IdleSettings_IdleTimeoutInMinute; + context.IdleSettings_LifecycleManagement = this.IdleSettings_LifecycleManagement; + context.IdleSettings_MaxIdleTimeoutInMinute = this.IdleSettings_MaxIdleTimeoutInMinute; + context.IdleSettings_MinIdleTimeoutInMinute = this.IdleSettings_MinIdleTimeoutInMinute; if (this.JupyterLabAppSettings_CodeRepository != null) { context.JupyterLabAppSettings_CodeRepository = new List(this.JupyterLabAppSettings_CodeRepository); @@ -930,6 +992,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter SubnetId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.TagPropagation = this.TagPropagation; if (this.Tag != null) { context.Tag = new List(this.Tag); @@ -1323,6 +1386,76 @@ public object Execute(ExecutorContext context) requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings.LifecycleConfigArns = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_LifecycleConfigArn; requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettingsIsNull = false; } + Amazon.SageMaker.Model.AppLifecycleManagement requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; + + // populate AppLifecycleManagement + var requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = true; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement = new Amazon.SageMaker.Model.AppLifecycleManagement(); + Amazon.SageMaker.Model.IdleSettings requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; + + // populate IdleSettings + var requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = true; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = new Amazon.SageMaker.Model.IdleSettings(); + System.Int32? requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute = null; + if (cmdletContext.IdleSettings_IdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute = cmdletContext.IdleSettings_IdleTimeoutInMinute.Value; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.IdleTimeoutInMinutes = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute.Value; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + Amazon.SageMaker.LifecycleManagement requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement = null; + if (cmdletContext.IdleSettings_LifecycleManagement != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement = cmdletContext.IdleSettings_LifecycleManagement; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.LifecycleManagement = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + System.Int32? requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute = null; + if (cmdletContext.IdleSettings_MaxIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute = cmdletContext.IdleSettings_MaxIdleTimeoutInMinute.Value; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.MaxIdleTimeoutInMinutes = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute.Value; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + System.Int32? requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute = null; + if (cmdletContext.IdleSettings_MinIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute = cmdletContext.IdleSettings_MinIdleTimeoutInMinute.Value; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.MinIdleTimeoutInMinutes = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute.Value; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + // determine if requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings should be set to null + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement.IdleSettings = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = false; + } + // determine if requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement should be set to null + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings.AppLifecycleManagement = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettingsIsNull = false; + } Amazon.SageMaker.Model.EmrSettings requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_EmrSettings = null; // populate EmrSettings @@ -1669,6 +1802,10 @@ public object Execute(ExecutorContext context) { request.SubnetIds = cmdletContext.SubnetId; } + if (cmdletContext.TagPropagation != null) + { + request.TagPropagation = cmdletContext.TagPropagation; + } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; @@ -1745,6 +1882,10 @@ internal partial class CmdletContext : ExecutorContext public System.Int64? CustomPosixUserConfig_Gid { get; set; } public System.Int64? CustomPosixUserConfig_Uid { get; set; } public System.String DefaultSpaceSettings_ExecutionRole { get; set; } + public System.Int32? IdleSettings_IdleTimeoutInMinute { get; set; } + public Amazon.SageMaker.LifecycleManagement IdleSettings_LifecycleManagement { get; set; } + public System.Int32? IdleSettings_MaxIdleTimeoutInMinute { get; set; } + public System.Int32? IdleSettings_MinIdleTimeoutInMinute { get; set; } public List JupyterLabAppSettings_CodeRepository { get; set; } public List JupyterLabAppSettings_CustomImage { get; set; } public Amazon.SageMaker.AppInstanceType DefaultSpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_InstanceType { get; set; } @@ -1792,6 +1933,7 @@ internal partial class CmdletContext : ExecutorContext public System.String HomeEfsFileSystemKmsKeyId { get; set; } public System.String KmsKeyId { get; set; } public List SubnetId { get; set; } + public Amazon.SageMaker.TagPropagation TagPropagation { get; set; } public List Tag { get; set; } public System.String VpcId { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMLabelingJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMLabelingJob-Cmdlet.cs index 492b4d2e2a..31a5a4fad2 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMLabelingJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMLabelingJob-Cmdlet.cs @@ -138,14 +138,7 @@ public partial class NewSMLabelingJobCmdlet : AmazonSageMakerClientCmdlet, IExec /// tool.
    • arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation
    • arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudSemanticSegmentation
    /// ///
    - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] [Alias("HumanTaskConfig_AnnotationConsolidationConfig_AnnotationConsolidationLambdaArn")] public System.String AnnotationConsolidationConfig_AnnotationConsolidationLambdaArn { get; set; } #endregion @@ -450,14 +443,7 @@ public partial class NewSMLabelingJobCmdlet : AmazonSageMakerClientCmdlet, IExec /// masks in a 3D point cloud.
    • arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudSemanticSegmentation
    /// ///
    - #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] public System.String HumanTaskConfig_PreHumanTaskLambdaArn { get; set; } #endregion @@ -771,12 +757,6 @@ protected override void ProcessRecord() } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.AnnotationConsolidationConfig_AnnotationConsolidationLambdaArn = this.AnnotationConsolidationConfig_AnnotationConsolidationLambdaArn; - #if MODULAR - if (this.AnnotationConsolidationConfig_AnnotationConsolidationLambdaArn == null && ParameterWasBound(nameof(this.AnnotationConsolidationConfig_AnnotationConsolidationLambdaArn))) - { - WriteWarning("You are passing $null as a value for parameter AnnotationConsolidationConfig_AnnotationConsolidationLambdaArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif context.HumanTaskConfig_MaxConcurrentTaskCount = this.HumanTaskConfig_MaxConcurrentTaskCount; context.HumanTaskConfig_NumberOfHumanWorkersPerDataObject = this.HumanTaskConfig_NumberOfHumanWorkersPerDataObject; #if MODULAR @@ -786,12 +766,6 @@ protected override void ProcessRecord() } #endif context.HumanTaskConfig_PreHumanTaskLambdaArn = this.HumanTaskConfig_PreHumanTaskLambdaArn; - #if MODULAR - if (this.HumanTaskConfig_PreHumanTaskLambdaArn == null && ParameterWasBound(nameof(this.HumanTaskConfig_PreHumanTaskLambdaArn))) - { - WriteWarning("You are passing $null as a value for parameter HumanTaskConfig_PreHumanTaskLambdaArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif context.AmountInUsd_Cent = this.AmountInUsd_Cent; context.AmountInUsd_Dollar = this.AmountInUsd_Dollar; context.AmountInUsd_TenthFractionsOfACent = this.AmountInUsd_TenthFractionsOfACent; diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMSpace-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMSpace-Cmdlet.cs index 64099d70bd..a637ea986c 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMSpace-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMSpace-Cmdlet.cs @@ -128,6 +128,29 @@ public partial class NewSMSpaceCmdlet : AmazonSageMakerClientCmdlet, IExecutor public System.Int32? EbsStorageSettings_EbsVolumeSizeInGb { get; set; } #endregion + #region Parameter SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes + /// + /// + /// The time that SageMaker waits after the application becomes idle before shutting it + /// down. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes")] + public System.Int32? SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } + #endregion + + #region Parameter SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes + /// + /// + /// The time that SageMaker waits after the application becomes idle before shutting it + /// down. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Int32? SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } + #endregion + #region Parameter SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType /// /// @@ -526,6 +549,7 @@ protected override void ProcessRecord() } #endif context.SpaceSettings_AppType = this.SpaceSettings_AppType; + context.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = this.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes; context.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType = this.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType; context.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_LifecycleConfigArn = this.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_LifecycleConfigArn; context.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageArn = this.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageArn; @@ -535,6 +559,7 @@ protected override void ProcessRecord() { context.SpaceSettings_CustomFileSystem = new List(this.SpaceSettings_CustomFileSystem); } + context.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = this.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes; if (this.JupyterLabAppSettings_CodeRepository != null) { context.JupyterLabAppSettings_CodeRepository = new List(this.JupyterLabAppSettings_CodeRepository); @@ -647,11 +672,91 @@ public object Execute(ExecutorContext context) request.SpaceSettings.CustomFileSystems = requestSpaceSettings_spaceSettings_CustomFileSystem; requestSpaceSettingsIsNull = false; } + Amazon.SageMaker.Model.SpaceStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; + + // populate SpaceStorageSettings + var requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = true; + requestSpaceSettings_spaceSettings_SpaceStorageSettings = new Amazon.SageMaker.Model.SpaceStorageSettings(); + Amazon.SageMaker.Model.EbsStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + + // populate EbsStorageSettings + var requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = true; + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = new Amazon.SageMaker.Model.EbsStorageSettings(); + System.Int32? requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = null; + if (cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb != null) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb.Value; + } + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb != null) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings.EbsVolumeSizeInGb = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb.Value; + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings should be set to null + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + } + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings != null) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings.EbsStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings; + requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings should be set to null + if (requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; + } + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings != null) + { + request.SpaceSettings.SpaceStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings; + requestSpaceSettingsIsNull = false; + } Amazon.SageMaker.Model.SpaceCodeEditorAppSettings requestSpaceSettings_spaceSettings_CodeEditorAppSettings = null; // populate CodeEditorAppSettings var requestSpaceSettings_spaceSettings_CodeEditorAppSettingsIsNull = true; requestSpaceSettings_spaceSettings_CodeEditorAppSettings = new Amazon.SageMaker.Model.SpaceCodeEditorAppSettings(); + Amazon.SageMaker.Model.SpaceAppLifecycleManagement requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement = null; + + // populate AppLifecycleManagement + var requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagementIsNull = true; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement = new Amazon.SageMaker.Model.SpaceAppLifecycleManagement(); + Amazon.SageMaker.Model.SpaceIdleSettings requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings = null; + + // populate IdleSettings + var requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettingsIsNull = true; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings = new Amazon.SageMaker.Model.SpaceIdleSettings(); + System.Int32? requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = null; + if (cmdletContext.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = cmdletContext.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; + } + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings.IdleTimeoutInMinutes = requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings should be set to null + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettingsIsNull) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings = null; + } + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement.IdleSettings = requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagementIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement should be set to null + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagementIsNull) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement = null; + } + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings.AppLifecycleManagement = requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement; + requestSpaceSettings_spaceSettings_CodeEditorAppSettingsIsNull = false; + } Amazon.SageMaker.Model.ResourceSpec requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_DefaultResourceSpec = null; // populate DefaultResourceSpec @@ -727,59 +832,59 @@ public object Execute(ExecutorContext context) request.SpaceSettings.CodeEditorAppSettings = requestSpaceSettings_spaceSettings_CodeEditorAppSettings; requestSpaceSettingsIsNull = false; } - Amazon.SageMaker.Model.SpaceStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; - - // populate SpaceStorageSettings - var requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = true; - requestSpaceSettings_spaceSettings_SpaceStorageSettings = new Amazon.SageMaker.Model.SpaceStorageSettings(); - Amazon.SageMaker.Model.EbsStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + Amazon.SageMaker.Model.SpaceJupyterLabAppSettings requestSpaceSettings_spaceSettings_JupyterLabAppSettings = null; - // populate EbsStorageSettings - var requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = true; - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = new Amazon.SageMaker.Model.EbsStorageSettings(); - System.Int32? requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = null; - if (cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb != null) + // populate JupyterLabAppSettings + var requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = true; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings = new Amazon.SageMaker.Model.SpaceJupyterLabAppSettings(); + List requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = null; + if (cmdletContext.JupyterLabAppSettings_CodeRepository != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb.Value; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = cmdletContext.JupyterLabAppSettings_CodeRepository; } - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings.EbsVolumeSizeInGb = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb.Value; - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = false; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings.CodeRepositories = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository; + requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = false; } - // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings should be set to null - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull) + Amazon.SageMaker.Model.SpaceAppLifecycleManagement requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; + + // populate AppLifecycleManagement + var requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = true; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement = new Amazon.SageMaker.Model.SpaceAppLifecycleManagement(); + Amazon.SageMaker.Model.SpaceIdleSettings requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; + + // populate IdleSettings + var requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = true; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = new Amazon.SageMaker.Model.SpaceIdleSettings(); + System.Int32? requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = null; + if (cmdletContext.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = cmdletContext.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; } - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings.EbsStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings; - requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = false; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.IdleTimeoutInMinutes = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; } - // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings should be set to null - if (requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull) + // determine if requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings should be set to null + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; } - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings != null) { - request.SpaceSettings.SpaceStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings; - requestSpaceSettingsIsNull = false; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement.IdleSettings = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = false; } - Amazon.SageMaker.Model.SpaceJupyterLabAppSettings requestSpaceSettings_spaceSettings_JupyterLabAppSettings = null; - - // populate JupyterLabAppSettings - var requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = true; - requestSpaceSettings_spaceSettings_JupyterLabAppSettings = new Amazon.SageMaker.Model.SpaceJupyterLabAppSettings(); - List requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = null; - if (cmdletContext.JupyterLabAppSettings_CodeRepository != null) + // determine if requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement should be set to null + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull) { - requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = cmdletContext.JupyterLabAppSettings_CodeRepository; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; } - if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement != null) { - requestSpaceSettings_spaceSettings_JupyterLabAppSettings.CodeRepositories = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings.AppLifecycleManagement = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement; requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = false; } Amazon.SageMaker.Model.ResourceSpec requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_DefaultResourceSpec = null; @@ -1151,12 +1256,14 @@ internal partial class CmdletContext : ExecutorContext public System.String SpaceDisplayName { get; set; } public System.String SpaceName { get; set; } public Amazon.SageMaker.AppType SpaceSettings_AppType { get; set; } + public System.Int32? SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } public Amazon.SageMaker.AppInstanceType SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_LifecycleConfigArn { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageArn { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageVersionAlias { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageVersionArn { get; set; } public List SpaceSettings_CustomFileSystem { get; set; } + public System.Int32? SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } public List JupyterLabAppSettings_CodeRepository { get; set; } public Amazon.SageMaker.AppInstanceType SpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_InstanceType { get; set; } public System.String SpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_LifecycleConfigArn { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMTransformJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMTransformJob-Cmdlet.cs index fcd2de9d64..1ff1ddeb64 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMTransformJob-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/New-SMTransformJob-Cmdlet.cs @@ -143,8 +143,9 @@ public partial class NewSMTransformJobCmdlet : AmazonSageMakerClientCmdlet, IExe #region Parameter Environment /// /// - /// The environment variables to set in the Docker container. We support up to 16 key - /// and values entries in the map. + /// The environment variables to set in the Docker container. Don't include any sensitive + /// data in your environment variables. We support up to 16 key and values entries in + /// the map. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMCluster-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMCluster-Cmdlet.cs index 3878c91111..b4a8e81b17 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMCluster-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMCluster-Cmdlet.cs @@ -77,6 +77,17 @@ public partial class UpdateSMClusterCmdlet : AmazonSageMakerClientCmdlet, IExecu public Amazon.SageMaker.Model.ClusterInstanceGroupSpecification[] InstanceGroup { get; set; } #endregion + #region Parameter NodeRecovery + /// + /// + /// The node recovery mode to be applied to the SageMaker HyperPod cluster. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.SageMaker.ClusterNodeRecovery")] + public Amazon.SageMaker.ClusterNodeRecovery NodeRecovery { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'ClusterArn'. @@ -156,6 +167,7 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter InstanceGroup which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.NodeRecovery = this.NodeRecovery; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -180,6 +192,10 @@ public object Execute(ExecutorContext context) { request.InstanceGroups = cmdletContext.InstanceGroup; } + if (cmdletContext.NodeRecovery != null) + { + request.NodeRecovery = cmdletContext.NodeRecovery; + } CmdletOutput output; @@ -243,6 +259,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String ClusterName { get; set; } public List InstanceGroup { get; set; } + public Amazon.SageMaker.ClusterNodeRecovery NodeRecovery { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.ClusterArn; } diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMDomain-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMDomain-Cmdlet.cs index 8014c8ef6b..314d998c55 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMDomain-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMDomain-Cmdlet.cs @@ -260,6 +260,18 @@ public partial class UpdateSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecut public System.Int64? CustomPosixUserConfig_Gid { get; set; } #endregion + #region Parameter IdleSettings_IdleTimeoutInMinute + /// + /// + /// The time that SageMaker waits after the application becomes idle before shutting it + /// down. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes")] + public System.Int32? IdleSettings_IdleTimeoutInMinute { get; set; } + #endregion + #region Parameter DefaultSpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_InstanceType /// /// @@ -389,6 +401,29 @@ public partial class UpdateSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecut public System.String[] KernelGatewayAppSettings_LifecycleConfigArn { get; set; } #endregion + #region Parameter IdleSettings_LifecycleManagement + /// + /// + /// Indicates whether idle shutdown is activated for the application type. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_LifecycleManagement")] + [AWSConstantClassSource("Amazon.SageMaker.LifecycleManagement")] + public Amazon.SageMaker.LifecycleManagement IdleSettings_LifecycleManagement { get; set; } + #endregion + + #region Parameter IdleSettings_MaxIdleTimeoutInMinute + /// + /// + /// The maximum value in minutes that custom idle shutdown can be set to by the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_MaxIdleTimeoutInMinutes")] + public System.Int32? IdleSettings_MaxIdleTimeoutInMinute { get; set; } + #endregion + #region Parameter DefaultEbsStorageSettings_MaximumEbsVolumeSizeInGb /// /// @@ -400,6 +435,17 @@ public partial class UpdateSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecut public System.Int32? DefaultEbsStorageSettings_MaximumEbsVolumeSizeInGb { get; set; } #endregion + #region Parameter IdleSettings_MinIdleTimeoutInMinute + /// + /// + /// The minimum value in minutes that custom idle shutdown can be set to by the user. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("DefaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_MinIdleTimeoutInMinutes")] + public System.Int32? IdleSettings_MinIdleTimeoutInMinute { get; set; } + #endregion + #region Parameter AmazonQSettings_QProfileArn /// /// @@ -607,6 +653,18 @@ public partial class UpdateSMDomainCmdlet : AmazonSageMakerClientCmdlet, IExecut public System.String[] SubnetId { get; set; } #endregion + #region Parameter TagPropagation + /// + /// + /// Indicates whether custom tag propagation is supported for the domain. Defaults to + /// DISABLED. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.SageMaker.TagPropagation")] + public Amazon.SageMaker.TagPropagation TagPropagation { get; set; } + #endregion + #region Parameter CustomPosixUserConfig_Uid /// /// @@ -701,6 +759,10 @@ protected override void ProcessRecord() context.CustomPosixUserConfig_Gid = this.CustomPosixUserConfig_Gid; context.CustomPosixUserConfig_Uid = this.CustomPosixUserConfig_Uid; context.DefaultSpaceSettings_ExecutionRole = this.DefaultSpaceSettings_ExecutionRole; + context.IdleSettings_IdleTimeoutInMinute = this.IdleSettings_IdleTimeoutInMinute; + context.IdleSettings_LifecycleManagement = this.IdleSettings_LifecycleManagement; + context.IdleSettings_MaxIdleTimeoutInMinute = this.IdleSettings_MaxIdleTimeoutInMinute; + context.IdleSettings_MinIdleTimeoutInMinute = this.IdleSettings_MinIdleTimeoutInMinute; if (this.JupyterLabAppSettings_CodeRepository != null) { context.JupyterLabAppSettings_CodeRepository = new List(this.JupyterLabAppSettings_CodeRepository); @@ -790,6 +852,7 @@ protected override void ProcessRecord() { context.SubnetId = new List(this.SubnetId); } + context.TagPropagation = this.TagPropagation; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -1168,6 +1231,76 @@ public object Execute(ExecutorContext context) requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings.LifecycleConfigArns = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_LifecycleConfigArn; requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettingsIsNull = false; } + Amazon.SageMaker.Model.AppLifecycleManagement requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; + + // populate AppLifecycleManagement + var requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = true; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement = new Amazon.SageMaker.Model.AppLifecycleManagement(); + Amazon.SageMaker.Model.IdleSettings requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; + + // populate IdleSettings + var requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = true; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = new Amazon.SageMaker.Model.IdleSettings(); + System.Int32? requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute = null; + if (cmdletContext.IdleSettings_IdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute = cmdletContext.IdleSettings_IdleTimeoutInMinute.Value; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.IdleTimeoutInMinutes = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_IdleTimeoutInMinute.Value; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + Amazon.SageMaker.LifecycleManagement requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement = null; + if (cmdletContext.IdleSettings_LifecycleManagement != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement = cmdletContext.IdleSettings_LifecycleManagement; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.LifecycleManagement = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_LifecycleManagement; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + System.Int32? requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute = null; + if (cmdletContext.IdleSettings_MaxIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute = cmdletContext.IdleSettings_MaxIdleTimeoutInMinute.Value; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.MaxIdleTimeoutInMinutes = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MaxIdleTimeoutInMinute.Value; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + System.Int32? requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute = null; + if (cmdletContext.IdleSettings_MinIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute = cmdletContext.IdleSettings_MinIdleTimeoutInMinute.Value; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.MinIdleTimeoutInMinutes = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_idleSettings_MinIdleTimeoutInMinute.Value; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + // determine if requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings should be set to null + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement.IdleSettings = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = false; + } + // determine if requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement should be set to null + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; + } + if (requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement != null) + { + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings.AppLifecycleManagement = requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_AppLifecycleManagement; + requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettingsIsNull = false; + } Amazon.SageMaker.Model.EmrSettings requestDefaultSpaceSettings_defaultSpaceSettings_JupyterLabAppSettings_defaultSpaceSettings_JupyterLabAppSettings_EmrSettings = null; // populate EmrSettings @@ -1504,6 +1637,10 @@ public object Execute(ExecutorContext context) { request.SubnetIds = cmdletContext.SubnetId; } + if (cmdletContext.TagPropagation != null) + { + request.TagPropagation = cmdletContext.TagPropagation; + } CmdletOutput output; @@ -1571,6 +1708,10 @@ internal partial class CmdletContext : ExecutorContext public System.Int64? CustomPosixUserConfig_Gid { get; set; } public System.Int64? CustomPosixUserConfig_Uid { get; set; } public System.String DefaultSpaceSettings_ExecutionRole { get; set; } + public System.Int32? IdleSettings_IdleTimeoutInMinute { get; set; } + public Amazon.SageMaker.LifecycleManagement IdleSettings_LifecycleManagement { get; set; } + public System.Int32? IdleSettings_MaxIdleTimeoutInMinute { get; set; } + public System.Int32? IdleSettings_MinIdleTimeoutInMinute { get; set; } public List JupyterLabAppSettings_CodeRepository { get; set; } public List JupyterLabAppSettings_CustomImage { get; set; } public Amazon.SageMaker.AppInstanceType DefaultSpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_InstanceType { get; set; } @@ -1615,6 +1756,7 @@ internal partial class CmdletContext : ExecutorContext public System.String RStudioServerProDomainSettingsForUpdate_RStudioPackageManagerUrl { get; set; } public List DomainSettingsForUpdate_SecurityGroupId { get; set; } public List SubnetId { get; set; } + public Amazon.SageMaker.TagPropagation TagPropagation { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.DomainArn; } diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMSpace-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMSpace-Cmdlet.cs index 1aa62fc635..6df5b1a42c 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMSpace-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/Basic/Update-SMSpace-Cmdlet.cs @@ -128,6 +128,29 @@ public partial class UpdateSMSpaceCmdlet : AmazonSageMakerClientCmdlet, IExecuto public System.Int32? EbsStorageSettings_EbsVolumeSizeInGb { get; set; } #endregion + #region Parameter SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes + /// + /// + /// The time that SageMaker waits after the application becomes idle before shutting it + /// down. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes")] + public System.Int32? SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } + #endregion + + #region Parameter SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes + /// + /// + /// The time that SageMaker waits after the application becomes idle before shutting it + /// down. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Int32? SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } + #endregion + #region Parameter SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType /// /// @@ -491,6 +514,7 @@ protected override void ProcessRecord() } #endif context.SpaceSettings_AppType = this.SpaceSettings_AppType; + context.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = this.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes; context.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType = this.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType; context.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_LifecycleConfigArn = this.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_LifecycleConfigArn; context.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageArn = this.SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageArn; @@ -500,6 +524,7 @@ protected override void ProcessRecord() { context.SpaceSettings_CustomFileSystem = new List(this.SpaceSettings_CustomFileSystem); } + context.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = this.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes; if (this.JupyterLabAppSettings_CodeRepository != null) { context.JupyterLabAppSettings_CodeRepository = new List(this.JupyterLabAppSettings_CodeRepository); @@ -588,11 +613,91 @@ public object Execute(ExecutorContext context) request.SpaceSettings.CustomFileSystems = requestSpaceSettings_spaceSettings_CustomFileSystem; requestSpaceSettingsIsNull = false; } + Amazon.SageMaker.Model.SpaceStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; + + // populate SpaceStorageSettings + var requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = true; + requestSpaceSettings_spaceSettings_SpaceStorageSettings = new Amazon.SageMaker.Model.SpaceStorageSettings(); + Amazon.SageMaker.Model.EbsStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + + // populate EbsStorageSettings + var requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = true; + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = new Amazon.SageMaker.Model.EbsStorageSettings(); + System.Int32? requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = null; + if (cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb != null) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb.Value; + } + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb != null) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings.EbsVolumeSizeInGb = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb.Value; + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings should be set to null + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + } + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings != null) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings.EbsStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings; + requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings should be set to null + if (requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull) + { + requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; + } + if (requestSpaceSettings_spaceSettings_SpaceStorageSettings != null) + { + request.SpaceSettings.SpaceStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings; + requestSpaceSettingsIsNull = false; + } Amazon.SageMaker.Model.SpaceCodeEditorAppSettings requestSpaceSettings_spaceSettings_CodeEditorAppSettings = null; // populate CodeEditorAppSettings var requestSpaceSettings_spaceSettings_CodeEditorAppSettingsIsNull = true; requestSpaceSettings_spaceSettings_CodeEditorAppSettings = new Amazon.SageMaker.Model.SpaceCodeEditorAppSettings(); + Amazon.SageMaker.Model.SpaceAppLifecycleManagement requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement = null; + + // populate AppLifecycleManagement + var requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagementIsNull = true; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement = new Amazon.SageMaker.Model.SpaceAppLifecycleManagement(); + Amazon.SageMaker.Model.SpaceIdleSettings requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings = null; + + // populate IdleSettings + var requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettingsIsNull = true; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings = new Amazon.SageMaker.Model.SpaceIdleSettings(); + System.Int32? requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = null; + if (cmdletContext.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = cmdletContext.SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; + } + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings.IdleTimeoutInMinutes = requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings should be set to null + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettingsIsNull) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings = null; + } + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement.IdleSettings = requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings; + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagementIsNull = false; + } + // determine if requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement should be set to null + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagementIsNull) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement = null; + } + if (requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement != null) + { + requestSpaceSettings_spaceSettings_CodeEditorAppSettings.AppLifecycleManagement = requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_AppLifecycleManagement; + requestSpaceSettings_spaceSettings_CodeEditorAppSettingsIsNull = false; + } Amazon.SageMaker.Model.ResourceSpec requestSpaceSettings_spaceSettings_CodeEditorAppSettings_spaceSettings_CodeEditorAppSettings_DefaultResourceSpec = null; // populate DefaultResourceSpec @@ -668,59 +773,59 @@ public object Execute(ExecutorContext context) request.SpaceSettings.CodeEditorAppSettings = requestSpaceSettings_spaceSettings_CodeEditorAppSettings; requestSpaceSettingsIsNull = false; } - Amazon.SageMaker.Model.SpaceStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; - - // populate SpaceStorageSettings - var requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = true; - requestSpaceSettings_spaceSettings_SpaceStorageSettings = new Amazon.SageMaker.Model.SpaceStorageSettings(); - Amazon.SageMaker.Model.EbsStorageSettings requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + Amazon.SageMaker.Model.SpaceJupyterLabAppSettings requestSpaceSettings_spaceSettings_JupyterLabAppSettings = null; - // populate EbsStorageSettings - var requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = true; - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = new Amazon.SageMaker.Model.EbsStorageSettings(); - System.Int32? requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = null; - if (cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb != null) + // populate JupyterLabAppSettings + var requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = true; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings = new Amazon.SageMaker.Model.SpaceJupyterLabAppSettings(); + List requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = null; + if (cmdletContext.JupyterLabAppSettings_CodeRepository != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb = cmdletContext.EbsStorageSettings_EbsVolumeSizeInGb.Value; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = cmdletContext.JupyterLabAppSettings_CodeRepository; } - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings.EbsVolumeSizeInGb = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings_ebsStorageSettings_EbsVolumeSizeInGb.Value; - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull = false; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings.CodeRepositories = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository; + requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = false; } - // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings should be set to null - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettingsIsNull) + Amazon.SageMaker.Model.SpaceAppLifecycleManagement requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; + + // populate AppLifecycleManagement + var requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = true; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement = new Amazon.SageMaker.Model.SpaceAppLifecycleManagement(); + Amazon.SageMaker.Model.SpaceIdleSettings requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; + + // populate IdleSettings + var requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = true; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = new Amazon.SageMaker.Model.SpaceIdleSettings(); + System.Int32? requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = null; + if (cmdletContext.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings = null; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes = cmdletContext.SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; } - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes != null) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings.EbsStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings_spaceSettings_SpaceStorageSettings_EbsStorageSettings; - requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull = false; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings.IdleTimeoutInMinutes = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes.Value; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull = false; } - // determine if requestSpaceSettings_spaceSettings_SpaceStorageSettings should be set to null - if (requestSpaceSettings_spaceSettings_SpaceStorageSettingsIsNull) + // determine if requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings should be set to null + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettingsIsNull) { - requestSpaceSettings_spaceSettings_SpaceStorageSettings = null; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings = null; } - if (requestSpaceSettings_spaceSettings_SpaceStorageSettings != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings != null) { - request.SpaceSettings.SpaceStorageSettings = requestSpaceSettings_spaceSettings_SpaceStorageSettings; - requestSpaceSettingsIsNull = false; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement.IdleSettings = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull = false; } - Amazon.SageMaker.Model.SpaceJupyterLabAppSettings requestSpaceSettings_spaceSettings_JupyterLabAppSettings = null; - - // populate JupyterLabAppSettings - var requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = true; - requestSpaceSettings_spaceSettings_JupyterLabAppSettings = new Amazon.SageMaker.Model.SpaceJupyterLabAppSettings(); - List requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = null; - if (cmdletContext.JupyterLabAppSettings_CodeRepository != null) + // determine if requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement should be set to null + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagementIsNull) { - requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository = cmdletContext.JupyterLabAppSettings_CodeRepository; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement = null; } - if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository != null) + if (requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement != null) { - requestSpaceSettings_spaceSettings_JupyterLabAppSettings.CodeRepositories = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_jupyterLabAppSettings_CodeRepository; + requestSpaceSettings_spaceSettings_JupyterLabAppSettings.AppLifecycleManagement = requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_AppLifecycleManagement; requestSpaceSettings_spaceSettings_JupyterLabAppSettingsIsNull = false; } Amazon.SageMaker.Model.ResourceSpec requestSpaceSettings_spaceSettings_JupyterLabAppSettings_spaceSettings_JupyterLabAppSettings_DefaultResourceSpec = null; @@ -1068,12 +1173,14 @@ internal partial class CmdletContext : ExecutorContext public System.String SpaceDisplayName { get; set; } public System.String SpaceName { get; set; } public Amazon.SageMaker.AppType SpaceSettings_AppType { get; set; } + public System.Int32? SpaceSettings_CodeEditorAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } public Amazon.SageMaker.AppInstanceType SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_InstanceType { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_LifecycleConfigArn { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageArn { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageVersionAlias { get; set; } public System.String SpaceSettings_CodeEditorAppSettings_DefaultResourceSpec_SageMakerImageVersionArn { get; set; } public List SpaceSettings_CustomFileSystem { get; set; } + public System.Int32? SpaceSettings_JupyterLabAppSettings_AppLifecycleManagement_IdleSettings_IdleTimeoutInMinutes { get; set; } public List JupyterLabAppSettings_CodeRepository { get; set; } public Amazon.SageMaker.AppInstanceType SpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_InstanceType { get; set; } public System.String SpaceSettings_JupyterLabAppSettings_DefaultResourceSpec_LifecycleConfigArn { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerFeatureStoreRuntime/AmazonSageMakerFeatureStoreRuntimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerFeatureStoreRuntime/AmazonSageMakerFeatureStoreRuntimeClientCmdlet.cs index eeaa342261..b1fda0f6c4 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerFeatureStoreRuntime/AmazonSageMakerFeatureStoreRuntimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMakerFeatureStoreRuntime/AmazonSageMakerFeatureStoreRuntimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSageMakerFeatureStoreRuntime CreateClient(AWSCredentials creden return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSageMakerFeatureStoreRuntimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerGeospatial/AmazonSageMakerGeospatialClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerGeospatial/AmazonSageMakerGeospatialClientCmdlet.cs index bb681835cd..76f02da858 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerGeospatial/AmazonSageMakerGeospatialClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMakerGeospatial/AmazonSageMakerGeospatialClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSageMakerGeospatial CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSageMakerGeospatialConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.Completers.psm1 index cf8ad9c983..05382ae971 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.Completers.psm1 @@ -123,7 +123,8 @@ $SMM_SelectCompleters = { } $SMM_SelectMap = @{ - "Select"=@("Add-SMMMetric") + "Select"=@("Get-SMMMetric", + "Add-SMMMetric") } _awsArgumentCompleterRegistration $SMM_SelectCompleters $SMM_SelectMap diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.psd1 b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.psd1 index 79a8a646c3..2a5ab8c72c 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.psd1 +++ b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AWS.Tools.SageMakerMetrics.psd1 @@ -86,7 +86,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Cmdlets to export from this module CmdletsToExport = @( - 'Add-SMMMetric') + 'Add-SMMMetric', + 'Get-SMMMetric') # Variables to export from this module VariablesToExport = '*' diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AmazonSageMakerMetricsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AmazonSageMakerMetricsClientCmdlet.cs index 53d0c246c3..9655ac7010 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AmazonSageMakerMetricsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/AmazonSageMakerMetricsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSageMakerMetrics CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSageMakerMetricsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/Basic/Add-SMMMetric-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/Basic/Add-SMMMetric-Cmdlet.cs index a2957caafd..d9de1c9003 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/Basic/Add-SMMMetric-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/Basic/Add-SMMMetric-Cmdlet.cs @@ -29,7 +29,7 @@ namespace Amazon.PowerShell.Cmdlets.SMM { /// /// Used to ingest training metrics into SageMaker. These metrics can be visualized in - /// SageMaker Studio and retrieved with the GetMetrics API. + /// SageMaker Studio. /// [Cmdlet("Add", "SMMMetric", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.SageMakerMetrics.Model.BatchPutMetricsError")] @@ -63,7 +63,8 @@ public partial class AddSMMMetricCmdlet : AmazonSageMakerMetricsClientCmdlet, IE #region Parameter TrialComponentName /// /// - /// The name of the Trial Component to associate with the metrics. + /// The name of the Trial Component to associate with the metrics. The Trial Component + /// name must be entirely lowercase. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/Basic/Get-SMMMetric-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/Basic/Get-SMMMetric-Cmdlet.cs new file mode 100644 index 0000000000..828d9cb23c --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/SageMakerMetrics/Basic/Get-SMMMetric-Cmdlet.cs @@ -0,0 +1,186 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.SageMakerMetrics; +using Amazon.SageMakerMetrics.Model; + +namespace Amazon.PowerShell.Cmdlets.SMM +{ + /// + /// Used to retrieve training metrics from SageMaker. + /// + [Cmdlet("Get", "SMMMetric")] + [OutputType("Amazon.SageMakerMetrics.Model.MetricQueryResult")] + [AWSCmdlet("Calls the Amazon SageMaker Metrics Service BatchGetMetrics API operation.", Operation = new[] {"BatchGetMetrics"}, SelectReturnType = typeof(Amazon.SageMakerMetrics.Model.BatchGetMetricsResponse))] + [AWSCmdletOutput("Amazon.SageMakerMetrics.Model.MetricQueryResult or Amazon.SageMakerMetrics.Model.BatchGetMetricsResponse", + "This cmdlet returns a collection of Amazon.SageMakerMetrics.Model.MetricQueryResult objects.", + "The service call response (type Amazon.SageMakerMetrics.Model.BatchGetMetricsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetSMMMetricCmdlet : AmazonSageMakerMetricsClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter MetricQuery + /// + /// + /// Queries made to retrieve training metrics from SageMaker. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("MetricQueries")] + public Amazon.SageMakerMetrics.Model.MetricQuery[] MetricQuery { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'MetricQueryResults'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.SageMakerMetrics.Model.BatchGetMetricsResponse). + /// Specifying the name of a property of type Amazon.SageMakerMetrics.Model.BatchGetMetricsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "MetricQueryResults"; + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + if (this.MetricQuery != null) + { + context.MetricQuery = new List(this.MetricQuery); + } + #if MODULAR + if (this.MetricQuery == null && ParameterWasBound(nameof(this.MetricQuery))) + { + WriteWarning("You are passing $null as a value for parameter MetricQuery which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.SageMakerMetrics.Model.BatchGetMetricsRequest(); + + if (cmdletContext.MetricQuery != null) + { + request.MetricQueries = cmdletContext.MetricQuery; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.SageMakerMetrics.Model.BatchGetMetricsResponse CallAWSServiceOperation(IAmazonSageMakerMetrics client, Amazon.SageMakerMetrics.Model.BatchGetMetricsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon SageMaker Metrics Service", "BatchGetMetrics"); + try + { + #if DESKTOP + return client.BatchGetMetrics(request); + #elif CORECLR + return client.BatchGetMetricsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List MetricQuery { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.MetricQueryResults; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/AmazonSageMakerRuntimeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/AmazonSageMakerRuntimeClientCmdlet.cs index f8efb1db23..78b12da306 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/AmazonSageMakerRuntimeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/AmazonSageMakerRuntimeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSageMakerRuntime CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSageMakerRuntimeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpoint-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpoint-Cmdlet.cs index 94ecca5eb4..764f92c44f 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpoint-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpoint-Cmdlet.cs @@ -187,6 +187,21 @@ public partial class InvokeSMREndpointCmdlet : AmazonSageMakerRuntimeClientCmdle public System.String InferenceId { get; set; } #endregion + #region Parameter SessionId + /// + /// + /// Creates a stateful session or identifies an existing one. You can do one of the following:
    • Create a stateful session by specifying the value NEW_SESSION.
    • Send your request to an existing stateful session by specifying the ID of that session.
    With a stateful session, you can send multiple requests to a stateful model. When + /// you create a session with a stateful model, the model must create the session ID and + /// set the expiration time. The model must also provide that information in the response + /// to your request. You can get the ID and timestamp from the NewSessionId response + /// parameter. For any subsequent request where you specify that session ID, SageMaker + /// routes the request to the same instance that supports the session. + ///
    + ///
    + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SessionId { get; set; } + #endregion + #region Parameter TargetContainerHostname /// /// @@ -304,6 +319,7 @@ protected override void ProcessRecord() #endif context.InferenceComponentName = this.InferenceComponentName; context.InferenceId = this.InferenceId; + context.SessionId = this.SessionId; context.TargetContainerHostname = this.TargetContainerHostname; context.TargetModel = this.TargetModel; context.TargetVariant = this.TargetVariant; @@ -360,6 +376,10 @@ public object Execute(ExecutorContext context) { request.InferenceId = cmdletContext.InferenceId; } + if (cmdletContext.SessionId != null) + { + request.SessionId = cmdletContext.SessionId; + } if (cmdletContext.TargetContainerHostname != null) { request.TargetContainerHostname = cmdletContext.TargetContainerHostname; @@ -449,6 +469,7 @@ internal partial class CmdletContext : ExecutorContext public System.String EndpointName { get; set; } public System.String InferenceComponentName { get; set; } public System.String InferenceId { get; set; } + public System.String SessionId { get; set; } public System.String TargetContainerHostname { get; set; } public System.String TargetModel { get; set; } public System.String TargetVariant { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpointWithResponseStream-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpointWithResponseStream-Cmdlet.cs index a767e8c93b..fd3828fcb2 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpointWithResponseStream-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SageMakerRuntime/Basic/Invoke-SMREndpointWithResponseStream-Cmdlet.cs @@ -177,6 +177,20 @@ public partial class InvokeSMREndpointWithResponseStreamCmdlet : AmazonSageMaker public System.String InferenceId { get; set; } #endregion + #region Parameter SessionId + /// + /// + /// The ID of a stateful session to handle your request.You can't create a stateful session by using the InvokeEndpointWithResponseStream + /// action. Instead, you can create one by using the InvokeEndpoint action. + /// In your request, you specify NEW_SESSION for the SessionId request parameter. + /// The response to that request provides the session ID for the NewSessionId response + /// parameter. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SessionId { get; set; } + #endregion + #region Parameter TargetContainerHostname /// /// @@ -283,6 +297,7 @@ protected override void ProcessRecord() #endif context.InferenceComponentName = this.InferenceComponentName; context.InferenceId = this.InferenceId; + context.SessionId = this.SessionId; context.TargetContainerHostname = this.TargetContainerHostname; context.TargetVariant = this.TargetVariant; @@ -334,6 +349,10 @@ public object Execute(ExecutorContext context) { request.InferenceId = cmdletContext.InferenceId; } + if (cmdletContext.SessionId != null) + { + request.SessionId = cmdletContext.SessionId; + } if (cmdletContext.TargetContainerHostname != null) { request.TargetContainerHostname = cmdletContext.TargetContainerHostname; @@ -418,6 +437,7 @@ internal partial class CmdletContext : ExecutorContext public System.String EndpointName { get; set; } public System.String InferenceComponentName { get; set; } public System.String InferenceId { get; set; } + public System.String SessionId { get; set; } public System.String TargetContainerHostname { get; set; } public System.String TargetVariant { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/SagemakerEdgeManager/AmazonSagemakerEdgeManagerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SagemakerEdgeManager/AmazonSagemakerEdgeManagerClientCmdlet.cs index fadd983022..4c3c40e47f 100644 --- a/modules/AWSPowerShell/Cmdlets/SagemakerEdgeManager/AmazonSagemakerEdgeManagerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SagemakerEdgeManager/AmazonSagemakerEdgeManagerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSagemakerEdgeManager CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSagemakerEdgeManagerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SavingsPlans/AmazonSavingsPlansClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SavingsPlans/AmazonSavingsPlansClientCmdlet.cs index 81a2a96464..9ab0e0ab73 100644 --- a/modules/AWSPowerShell/Cmdlets/SavingsPlans/AmazonSavingsPlansClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SavingsPlans/AmazonSavingsPlansClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSavingsPlans CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSavingsPlansConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Scheduler/AmazonSchedulerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Scheduler/AmazonSchedulerClientCmdlet.cs index be690526d2..27e7270842 100644 --- a/modules/AWSPowerShell/Cmdlets/Scheduler/AmazonSchedulerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Scheduler/AmazonSchedulerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonScheduler CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSchedulerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Schemas/AmazonSchemasClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Schemas/AmazonSchemasClientCmdlet.cs index 1d06d33124..11d7e54d41 100644 --- a/modules/AWSPowerShell/Cmdlets/Schemas/AmazonSchemasClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Schemas/AmazonSchemasClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSchemas CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSchemasConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SecretsManager/AmazonSecretsManagerClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecretsManager/AmazonSecretsManagerClientCmdlet.cs index beab2952a6..640a412b83 100644 --- a/modules/AWSPowerShell/Cmdlets/SecretsManager/AmazonSecretsManagerClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecretsManager/AmazonSecretsManagerClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSecretsManager CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSecretsManagerConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/AmazonSecurityHubClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/AmazonSecurityHubClientCmdlet.cs index ddc21a1052..8c4f881687 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/AmazonSecurityHubClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/AmazonSecurityHubClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSecurityHub CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSecurityHubConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Confirm-SHUBAdministratorInvitation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Confirm-SHUBAdministratorInvitation-Cmdlet.cs index 74cd9c3572..2acbdf7442 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Confirm-SHUBAdministratorInvitation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Confirm-SHUBAdministratorInvitation-Cmdlet.cs @@ -28,11 +28,15 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// + /// + /// We recommend using Organizations instead of Security Hub invitations to manage your + /// member accounts. For information, see Managing + /// Security Hub administrator and member accounts with Organizations in the Security + /// Hub User Guide. + /// /// Accepts the invitation to be a member account and be monitored by the Security Hub /// administrator account that the invitation was sent from. - /// - /// - /// + /// /// This operation is only used by member accounts that are not added through Organizations. /// /// When the member account accepts the invitation, permission is granted to the administrator diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Deny-SHUBInvitation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Deny-SHUBInvitation-Cmdlet.cs index 4f23449af1..a7c8adb0a4 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Deny-SHUBInvitation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Deny-SHUBInvitation-Cmdlet.cs @@ -28,15 +28,19 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// Declines invitations to become a member account. - /// - /// - /// + /// + /// We recommend using Organizations instead of Security Hub invitations to manage your + /// member accounts. For information, see Managing + /// Security Hub administrator and member accounts with Organizations in the Security + /// Hub User Guide. + /// + /// Declines invitations to become a Security Hub member account. + /// /// A prospective member account uses this operation to decline an invitation to become /// a member. /// - /// This operation is only called by member accounts that aren't part of an organization. - /// Organization accounts don't receive invitations. + /// Only member accounts that aren't part of an Amazon Web Services organization should + /// use this operation. Organization accounts don't receive invitations. /// /// [Cmdlet("Deny", "SHUBInvitation", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Enable-SHUBSecurityHub-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Enable-SHUBSecurityHub-Cmdlet.cs index f3fcba7503..590dc0761d 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Enable-SHUBSecurityHub-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Enable-SHUBSecurityHub-Cmdlet.cs @@ -89,7 +89,7 @@ public partial class EnableSHUBSecurityHubCmdlet : AmazonSecurityHubClientCmdlet /// /// /// Whether to enable the security standards that Security Hub has designated as automatically - /// enabled. If you do not provide a value for EnableDefaultStandards, it is set + /// enabled. If you don't provide a value for EnableDefaultStandards, it is set /// to true. To not enable the automatically enabled standards, set EnableDefaultStandards /// to false. /// diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFinding-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFinding-Cmdlet.cs index 3efe29b59f..57807b540f 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFinding-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFinding-Cmdlet.cs @@ -32,9 +32,9 @@ namespace Amazon.PowerShell.Cmdlets.SHUB /// /// /// - /// If finding aggregation is enabled, then when you call GetFindings from the - /// aggregation Region, the results include all of the matching findings from both the - /// aggregation Region and the linked Regions. + /// If cross-Region aggregation is enabled, then when you call GetFindings from + /// the home Region, the results include all of the matching findings from both the home + /// Region and linked Regions. ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    [Cmdlet("Get", "SHUBFinding")] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregator-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregator-Cmdlet.cs index 3d486e4daf..3925f3f04b 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregator-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregator-Cmdlet.cs @@ -28,7 +28,13 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// Returns the current finding aggregation configuration. + /// + /// The aggregation Region is now called the home Region. + /// + /// Returns the current configuration in the calling account for cross-Region aggregation. + /// A finding aggregator is a resource that establishes the home Region and any linked + /// Regions. + /// /// [Cmdlet("Get", "SHUBFindingAggregator")] [OutputType("Amazon.SecurityHub.Model.GetFindingAggregatorResponse")] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregatorList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregatorList-Cmdlet.cs index 73627161ad..545c65c0d1 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregatorList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBFindingAggregatorList-Cmdlet.cs @@ -28,8 +28,9 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// If finding aggregation is enabled, then ListFindingAggregators returns the - /// ARN of the finding aggregator. You can run this operation from any Region.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + /// If cross-Region aggregation is enabled, then ListFindingAggregators returns + /// the Amazon Resource Name (ARN) of the finding aggregator. You can run this operation + /// from any Amazon Web Services Region.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    [Cmdlet("Get", "SHUBFindingAggregatorList")] [OutputType("Amazon.SecurityHub.Model.FindingAggregator")] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInsight-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInsight-Cmdlet.cs index 171d223a2e..3c3d5f9e5d 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInsight-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInsight-Cmdlet.cs @@ -45,7 +45,7 @@ public partial class GetSHUBInsightCmdlet : AmazonSecurityHubClientCmdlet, IExec #region Parameter InsightArn /// /// - /// The ARNs of the insights to describe. If you do not provide any insight ARNs, then + /// The ARNs of the insights to describe. If you don't provide any insight ARNs, then /// GetInsights returns all of your custom insights. It does not return any managed /// insights. /// diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationList-Cmdlet.cs index 785a22f0ad..1a05ce57c7 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationList-Cmdlet.cs @@ -28,13 +28,16 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// Lists all Security Hub membership invitations that were sent to the current Amazon - /// Web Services account. - /// - /// - /// - /// This operation is only used by accounts that are managed by invitation. Accounts that - /// are managed using the integration with Organizations do not receive invitations. + /// + /// We recommend using Organizations instead of Security Hub invitations to manage your + /// member accounts. For information, see Managing + /// Security Hub administrator and member accounts with Organizations in the Security + /// Hub User Guide. + /// + /// Lists all Security Hub membership invitations that were sent to the calling account. + /// + /// Only accounts that are managed by invitation can use this operation. Accounts that + /// are managed using the integration with Organizations don't receive invitations. ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    [Cmdlet("Get", "SHUBInvitationList")] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationsCount-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationsCount-Cmdlet.cs index f166cadc92..1d7c0cf740 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationsCount-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBInvitationsCount-Cmdlet.cs @@ -28,8 +28,15 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// + /// + /// We recommend using Organizations instead of Security Hub invitations to manage your + /// member accounts. For information, see Managing + /// Security Hub administrator and member accounts with Organizations in the Security + /// Hub User Guide. + /// /// Returns the count of all Security Hub membership invitations that were sent to the - /// current member account, not including the currently accepted invitation. + /// calling member account, not including the currently accepted invitation. + /// /// [Cmdlet("Get", "SHUBInvitationsCount")] [OutputType("System.Int32")] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBProduct-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBProduct-Cmdlet.cs index aed4679a38..c2f793131f 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBProduct-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Get-SHUBProduct-Cmdlet.cs @@ -35,7 +35,7 @@ namespace Amazon.PowerShell.Cmdlets.SHUB /// You can optionally provide an integration ARN. If you provide an integration ARN, /// then the results only include that integration. ///
    - /// If you do not provide an integration ARN, then the results include all of the available + /// If you don't provide an integration ARN, then the results include all of the available /// product integrations. ///

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBAutomationRule-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBAutomationRule-Cmdlet.cs index c686527506..495da9c8e9 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBAutomationRule-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBAutomationRule-Cmdlet.cs @@ -380,9 +380,9 @@ public partial class NewSHUBAutomationRuleCmdlet : AmazonSecurityHubClientCmdlet /// /// The identifier for the given resource type. For Amazon Web Services resources that /// are identified by Amazon Resource Names (ARNs), this is the ARN. For Amazon Web Services - /// resources that lack ARNs, this is the identifier as defined by the Amazon Web Servicesservice - /// that created the resource. For non-Amazon Web Services resources, this is a unique - /// identifier that is associated with the resource. Array Members: Minimum number of 1 item. Maximum number of 100 items. + /// resources that lack ARNs, this is the identifier as defined by the Amazon Web Services + /// service that created the resource. For non-Amazon Web Services resources, this is + /// a unique identifier that is associated with the resource. Array Members: Minimum number of 1 item. Maximum number of 100 items. ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBFindingAggregator-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBFindingAggregator-Cmdlet.cs index 4537f7413a..75216890bf 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBFindingAggregator-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBFindingAggregator-Cmdlet.cs @@ -28,12 +28,15 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// Used to enable finding aggregation. Must be called from the aggregation Region. + /// + /// The aggregation Region is now called the home Region. + /// + /// Used to enable cross-Region aggregation. This operation can be invoked from the home + /// Region only. + /// + /// For information about how cross-Region aggregation works, see Understanding + /// cross-Region aggregation in Security Hub in the Security Hub User Guide. /// - /// - /// - /// For more details about cross-Region replication, see Configuring - /// finding aggregation in the Security Hub User Guide. /// /// [Cmdlet("New", "SHUBFindingAggregator", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -79,9 +82,9 @@ public partial class NewSHUBFindingAggregatorCmdlet : AmazonSecurityHubClientCmd /// /// /// If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a - /// space-separated list of Regions that do not aggregate findings to the aggregation + /// space-separated list of Regions that don't replicate and send findings to the home /// Region.If RegionLinkingMode is SPECIFIED_REGIONS, then this is a space-separated - /// list of Regions that do aggregate findings to the aggregation Region. An InvalidInputException error results if you populate this field while RegionLinkingMode + /// list of Regions that do replicate and send findings to the home Region. An InvalidInputException error results if you populate this field while RegionLinkingMode /// is NO_REGIONS. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBMember-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBMember-Cmdlet.cs index ab5cabcad7..2cdb061c96 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBMember-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/New-SHUBMember-Cmdlet.cs @@ -51,7 +51,7 @@ namespace Amazon.PowerShell.Cmdlets.SHUB /// the InviteMembers operation. If the account owner accepts the invitation, the /// account becomes a member account in Security Hub. ///
    - /// Accounts that are managed using Organizations do not receive an invitation. They automatically + /// Accounts that are managed using Organizations don't receive an invitation. They automatically /// become a member account in Security Hub. ///
    • /// If the organization account does not have Security Hub enabled, then Security Hub diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBFindingAggregator-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBFindingAggregator-Cmdlet.cs index 2c7b8a1ce6..9c6cf1991f 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBFindingAggregator-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBFindingAggregator-Cmdlet.cs @@ -28,14 +28,16 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// Deletes a finding aggregator. When you delete the finding aggregator, you stop finding - /// aggregation. - /// - /// - /// - /// When you stop finding aggregation, findings that were already aggregated to the aggregation - /// Region are still visible from the aggregation Region. New findings and finding updates - /// are not aggregated. + /// + /// The aggregation Region is now called the home Region. + /// + /// Deletes a finding aggregator. When you delete the finding aggregator, you stop cross-Region + /// aggregation. Finding replication stops occurring from the linked Regions to the home + /// Region. + /// + /// When you stop cross-Region aggregation, findings that were already replicated and + /// sent to the home Region are still visible from the home Region. However, new findings + /// and finding updates are no longer replicated and sent to the home Region. /// /// [Cmdlet("Remove", "SHUBFindingAggregator", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBInvitation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBInvitation-Cmdlet.cs index 6c446f02fd..ac810aa14b 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBInvitation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Remove-SHUBInvitation-Cmdlet.cs @@ -28,16 +28,20 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// Deletes invitations received by the Amazon Web Services account to become a member - /// account. - /// - /// - /// + /// + /// We recommend using Organizations instead of Security Hub invitations to manage your + /// member accounts. For information, see Managing + /// Security Hub administrator and member accounts with Organizations in the Security + /// Hub User Guide. + /// + /// Deletes invitations to become a Security Hub member account. + /// /// A Security Hub administrator account can use this operation to delete invitations - /// sent to one or more member accounts. + /// sent to one or more prospective member accounts. /// - /// This operation is only used to delete invitations that are sent to member accounts - /// that aren't part of an organization. Organization accounts don't receive invitations. + /// This operation is only used to delete invitations that are sent to prospective member + /// accounts that aren't part of an Amazon Web Services organization. Organization accounts + /// don't receive invitations. /// /// [Cmdlet("Remove", "SHUBInvitation", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Send-SHUBMemberInvitation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Send-SHUBMemberInvitation-Cmdlet.cs index 9eb89d89c7..d9a33b3a5d 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Send-SHUBMemberInvitation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Send-SHUBMemberInvitation-Cmdlet.cs @@ -28,20 +28,24 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// + /// + /// We recommend using Organizations instead of Security Hub invitations to manage your + /// member accounts. For information, see Managing + /// Security Hub administrator and member accounts with Organizations in the Security + /// Hub User Guide. + /// /// Invites other Amazon Web Services accounts to become member accounts for the Security /// Hub administrator account that the invitation is sent from. - /// - /// - /// - /// This operation is only used to invite accounts that do not belong to an organization. - /// Organization accounts do not receive invitations. + /// + /// This operation is only used to invite accounts that don't belong to an Amazon Web + /// Services organization. Organization accounts don't receive invitations. /// /// Before you can use this action to invite a member, you must first use the CreateMembers /// action to create the member account in Security Hub. /// /// When the account owner enables Security Hub and accepts the invitation to become a - /// member account, the administrator account can view the findings generated from the - /// member account. + /// member account, the administrator account can view the findings generated in the member + /// account. /// /// [Cmdlet("Send", "SHUBMemberInvitation", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingAggregator-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingAggregator-Cmdlet.cs index 451f439159..0531f89bef 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingAggregator-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingAggregator-Cmdlet.cs @@ -28,13 +28,14 @@ namespace Amazon.PowerShell.Cmdlets.SHUB { /// - /// Updates the finding aggregation configuration. Used to update the Region linking mode - /// and the list of included or excluded Regions. You cannot use UpdateFindingAggregator - /// to change the aggregation Region. - /// - /// - /// - /// You must run UpdateFindingAggregator from the current aggregation Region. + /// + /// The aggregation Region is now called the home Region. + /// + /// Updates cross-Region aggregation settings. You can use this operation to update the + /// Region linking mode and the list of included or excluded Amazon Web Services Regions. + /// However, you can't use this operation to change the home Region. + /// + /// You can invoke this operation from the current home Region only. /// /// [Cmdlet("Update", "SHUBFindingAggregator", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -97,9 +98,9 @@ public partial class UpdateSHUBFindingAggregatorCmdlet : AmazonSecurityHubClient /// /// /// If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a - /// space-separated list of Regions that do not aggregate findings to the aggregation + /// space-separated list of Regions that don't replicate and send findings to the home /// Region.If RegionLinkingMode is SPECIFIED_REGIONS, then this is a space-separated - /// list of Regions that do aggregate findings to the aggregation Region.An InvalidInputException error results if you populate this field while RegionLinkingMode + /// list of Regions that do replicate and send findings to the home Region.An InvalidInputException error results if you populate this field while RegionLinkingMode /// is NO_REGIONS. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingsBatch-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingsBatch-Cmdlet.cs index 775ecd10ca..13b2b14f05 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingsBatch-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityHub/Basic/Update-SHUBFindingsBatch-Cmdlet.cs @@ -35,7 +35,7 @@ namespace Amazon.PowerShell.Cmdlets.SHUB /// /// /// - /// Updates from BatchUpdateFindings do not affect the value of UpdatedAt + /// Updates from BatchUpdateFindings don't affect the value of UpdatedAt /// for a finding. /// /// Administrator and member accounts can use BatchUpdateFindings to update the @@ -118,8 +118,8 @@ public partial class UpdateSHUBFindingsBatchCmdlet : AmazonSecurityHubClientCmdl /// /// /// The normalized severity for the finding. This attribute is to be deprecated in favor - /// of Label.If you provide Normalized and do not provide Label, Label is - /// set automatically as follows.
      • 0 - INFORMATIONAL
      • 1–39 - LOW
      • 40–69 - MEDIUM
      • 70–89 - HIGH
      • 90–100 - CRITICAL
      + /// of Label.
      If you provide Normalized and don't provide Label, Label is set + /// automatically as follows.
      • 0 - INFORMATIONAL
      • 1–39 - LOW
      • 40–69 - MEDIUM
      • 70–89 - HIGH
      • 90–100 - CRITICAL
      /// ///
      [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -158,7 +158,7 @@ public partial class UpdateSHUBFindingsBatchCmdlet : AmazonSecurityHubClientCmdl /// to NEW in the following cases:
      • The record state changes from ARCHIVED to ACTIVE.
      • The compliance status changes from PASSED to either WARNING, FAILED, /// or NOT_AVAILABLE.
    • NOTIFIED - Indicates that you notified the resource owner about the security /// issue. Used when the initial reviewer is not the resource owner, and needs intervention - /// from the resource owner.
    • RESOLVED - The finding was reviewed and remediated and is now considered resolved.
    • SUPPRESSED - Indicates that you reviewed the finding and do not believe that + /// from the resource owner.
    • RESOLVED - The finding was reviewed and remediated and is now considered resolved.
    • SUPPRESSED - Indicates that you reviewed the finding and don't believe that /// any action is needed. The finding is no longer updated.
    /// ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SecurityLake/AmazonSecurityLakeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityLake/AmazonSecurityLakeClientCmdlet.cs index 074b9190cb..eef9dde1ec 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityLake/AmazonSecurityLakeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityLake/AmazonSecurityLakeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSecurityLake CreateClient(AWSCredentials credentials, RegionEnd return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSecurityLakeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SecurityToken/AmazonSecurityTokenServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SecurityToken/AmazonSecurityTokenServiceClientCmdlet.cs index 339de6dc5f..9e69dc3968 100644 --- a/modules/AWSPowerShell/Cmdlets/SecurityToken/AmazonSecurityTokenServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SecurityToken/AmazonSecurityTokenServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSecurityTokenService CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSecurityTokenServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ServerMigrationService/AmazonServerMigrationServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ServerMigrationService/AmazonServerMigrationServiceClientCmdlet.cs index a0100514ba..60a90e9974 100644 --- a/modules/AWSPowerShell/Cmdlets/ServerMigrationService/AmazonServerMigrationServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ServerMigrationService/AmazonServerMigrationServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonServerMigrationService CreateClient(AWSCredentials credentials, return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonServerMigrationServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ServerlessApplicationRepository/AmazonServerlessApplicationRepositoryClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ServerlessApplicationRepository/AmazonServerlessApplicationRepositoryClientCmdlet.cs index 01701e0bf2..31e97e497f 100644 --- a/modules/AWSPowerShell/Cmdlets/ServerlessApplicationRepository/AmazonServerlessApplicationRepositoryClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ServerlessApplicationRepository/AmazonServerlessApplicationRepositoryClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonServerlessApplicationRepository CreateClient(AWSCredentials cre return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonServerlessApplicationRepositoryConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ServiceCatalog/AmazonServiceCatalogClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ServiceCatalog/AmazonServiceCatalogClientCmdlet.cs index d4ff3263d3..45df3fa330 100644 --- a/modules/AWSPowerShell/Cmdlets/ServiceCatalog/AmazonServiceCatalogClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ServiceCatalog/AmazonServiceCatalogClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonServiceCatalog CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonServiceCatalogConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ServiceDiscovery/AmazonServiceDiscoveryClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ServiceDiscovery/AmazonServiceDiscoveryClientCmdlet.cs index 021414618e..5259745209 100644 --- a/modules/AWSPowerShell/Cmdlets/ServiceDiscovery/AmazonServiceDiscoveryClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ServiceDiscovery/AmazonServiceDiscoveryClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonServiceDiscovery CreateClient(AWSCredentials credentials, Regio return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonServiceDiscoveryConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/ServiceQuotas/AmazonServiceQuotasClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/ServiceQuotas/AmazonServiceQuotasClientCmdlet.cs index 0082ebab98..604e58e957 100644 --- a/modules/AWSPowerShell/Cmdlets/ServiceQuotas/AmazonServiceQuotasClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/ServiceQuotas/AmazonServiceQuotasClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonServiceQuotas CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonServiceQuotasConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Shield/AmazonShieldClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Shield/AmazonShieldClientCmdlet.cs index 1f0d0d1fea..6a5e3b8656 100644 --- a/modules/AWSPowerShell/Cmdlets/Shield/AmazonShieldClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Shield/AmazonShieldClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonShield CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonShieldConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SimSpaceWeaver/AmazonSimSpaceWeaverClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimSpaceWeaver/AmazonSimSpaceWeaverClientCmdlet.cs index b81e506a78..a5108ee16d 100644 --- a/modules/AWSPowerShell/Cmdlets/SimSpaceWeaver/AmazonSimSpaceWeaverClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimSpaceWeaver/AmazonSimSpaceWeaverClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSimSpaceWeaver CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSimSpaceWeaverConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SimpleEmail/AmazonSimpleEmailServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleEmail/AmazonSimpleEmailServiceClientCmdlet.cs index 483b7650b3..ad5a72ba5a 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleEmail/AmazonSimpleEmailServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleEmail/AmazonSimpleEmailServiceClientCmdlet.cs @@ -64,6 +64,13 @@ protected IAmazonSimpleEmailService CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSimpleEmailServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AWS.Tools.SimpleEmailV2.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AWS.Tools.SimpleEmailV2.Completers.psm1 index e34f3fa6ce..cb78b42a6b 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AWS.Tools.SimpleEmailV2.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AWS.Tools.SimpleEmailV2.Completers.psm1 @@ -150,6 +150,16 @@ $SES2_Completers = { break } + # Amazon.SimpleEmailV2.HttpsPolicy + { + ($_ -eq "Write-SES2ConfigurationSetTrackingOption/HttpsPolicy") -Or + ($_ -eq "New-SES2ConfigurationSet/TrackingOptions_HttpsPolicy") + } + { + $v = "OPTIONAL","REQUIRE","REQUIRE_OPEN_ONLY" + break + } + # Amazon.SimpleEmailV2.ImportDestinationType "Get-SES2ImportJobList/ImportDestinationType" { @@ -240,6 +250,7 @@ $SES2_map = @{ "Filter_FilteredStatus"=@("Get-SES2ContactCollection") "GuardianAttributes_OptimizedSharedDelivery"=@("Write-SES2AccountVdmAttribute") "GuardianOptions_OptimizedSharedDelivery"=@("New-SES2ConfigurationSet","Write-SES2ConfigurationSetVdmOption") + "HttpsPolicy"=@("Write-SES2ConfigurationSetTrackingOption") "ImportDataSource_DataFormat"=@("New-SES2ImportJob") "ImportDestinationType"=@("Get-SES2ImportJobList") "JobStatus"=@("Get-SES2ExportJobList") @@ -251,6 +262,7 @@ $SES2_map = @{ "SigningAttributesOrigin"=@("Write-SES2EmailIdentityDkimSigningAttribute") "SuppressionListDestination_SuppressionListImportAction"=@("New-SES2ImportJob") "TlsPolicy"=@("Write-SES2ConfigurationSetDeliveryOption") + "TrackingOptions_HttpsPolicy"=@("New-SES2ConfigurationSet") "VdmAttributes_VdmEnabled"=@("Write-SES2AccountVdmAttribute") } diff --git a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AmazonSimpleEmailServiceV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AmazonSimpleEmailServiceV2ClientCmdlet.cs index edbd363002..7059e3af2c 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AmazonSimpleEmailServiceV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/AmazonSimpleEmailServiceV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSimpleEmailServiceV2 CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSimpleEmailServiceV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/New-SES2ConfigurationSet-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/New-SES2ConfigurationSet-Cmdlet.cs index 88d467641c..edc686df95 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/New-SES2ConfigurationSet-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/New-SES2ConfigurationSet-Cmdlet.cs @@ -87,6 +87,17 @@ public partial class NewSES2ConfigurationSetCmdlet : AmazonSimpleEmailServiceV2C public Amazon.SimpleEmailV2.FeatureStatus DashboardOptions_EngagementMetric { get; set; } #endregion + #region Parameter TrackingOptions_HttpsPolicy + /// + /// + /// The https policy to use for tracking open and click events. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.SimpleEmailV2.HttpsPolicy")] + public Amazon.SimpleEmailV2.HttpsPolicy TrackingOptions_HttpsPolicy { get; set; } + #endregion + #region Parameter ReputationOptions_LastFreshStart /// /// @@ -268,6 +279,7 @@ protected override void ProcessRecord() context.Tag = new List(this.Tag); } context.TrackingOptions_CustomRedirectDomain = this.TrackingOptions_CustomRedirectDomain; + context.TrackingOptions_HttpsPolicy = this.TrackingOptions_HttpsPolicy; context.DashboardOptions_EngagementMetric = this.DashboardOptions_EngagementMetric; context.GuardianOptions_OptimizedSharedDelivery = this.GuardianOptions_OptimizedSharedDelivery; @@ -403,6 +415,16 @@ public object Execute(ExecutorContext context) { request.TrackingOptions.CustomRedirectDomain = requestTrackingOptions_trackingOptions_CustomRedirectDomain; requestTrackingOptionsIsNull = false; + } + Amazon.SimpleEmailV2.HttpsPolicy requestTrackingOptions_trackingOptions_HttpsPolicy = null; + if (cmdletContext.TrackingOptions_HttpsPolicy != null) + { + requestTrackingOptions_trackingOptions_HttpsPolicy = cmdletContext.TrackingOptions_HttpsPolicy; + } + if (requestTrackingOptions_trackingOptions_HttpsPolicy != null) + { + request.TrackingOptions.HttpsPolicy = requestTrackingOptions_trackingOptions_HttpsPolicy; + requestTrackingOptionsIsNull = false; } // determine if request.TrackingOptions should be set to null if (requestTrackingOptionsIsNull) @@ -538,6 +560,7 @@ internal partial class CmdletContext : ExecutorContext public List SuppressionOptions_SuppressedReason { get; set; } public List Tag { get; set; } public System.String TrackingOptions_CustomRedirectDomain { get; set; } + public Amazon.SimpleEmailV2.HttpsPolicy TrackingOptions_HttpsPolicy { get; set; } public Amazon.SimpleEmailV2.FeatureStatus DashboardOptions_EngagementMetric { get; set; } public Amazon.SimpleEmailV2.FeatureStatus GuardianOptions_OptimizedSharedDelivery { get; set; } public System.Func Select { get; set; } = diff --git a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/Write-SES2ConfigurationSetTrackingOption-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/Write-SES2ConfigurationSetTrackingOption-Cmdlet.cs index f7959ead40..bc90d4c8e2 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/Write-SES2ConfigurationSetTrackingOption-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleEmailV2/Basic/Write-SES2ConfigurationSetTrackingOption-Cmdlet.cs @@ -70,6 +70,17 @@ public partial class WriteSES2ConfigurationSetTrackingOptionCmdlet : AmazonSimpl public System.String CustomRedirectDomain { get; set; } #endregion + #region Parameter HttpsPolicy + /// + /// + /// The service has not provided documentation for this parameter; please refer to the service's API reference documentation for the latest available information. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.SimpleEmailV2.HttpsPolicy")] + public Amazon.SimpleEmailV2.HttpsPolicy HttpsPolicy { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. @@ -139,6 +150,7 @@ protected override void ProcessRecord() } #endif context.CustomRedirectDomain = this.CustomRedirectDomain; + context.HttpsPolicy = this.HttpsPolicy; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -163,6 +175,10 @@ public object Execute(ExecutorContext context) { request.CustomRedirectDomain = cmdletContext.CustomRedirectDomain; } + if (cmdletContext.HttpsPolicy != null) + { + request.HttpsPolicy = cmdletContext.HttpsPolicy; + } CmdletOutput output; @@ -226,6 +242,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String ConfigurationSetName { get; set; } public System.String CustomRedirectDomain { get; set; } + public Amazon.SimpleEmailV2.HttpsPolicy HttpsPolicy { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/SimpleNotificationService/AmazonSimpleNotificationServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleNotificationService/AmazonSimpleNotificationServiceClientCmdlet.cs index 1fc6e2cb0a..f03aa67651 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleNotificationService/AmazonSimpleNotificationServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleNotificationService/AmazonSimpleNotificationServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSimpleNotificationService CreateClient(AWSCredentials credentia return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSimpleNotificationServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/AmazonSimpleSystemsManagementClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/AmazonSimpleSystemsManagementClientCmdlet.cs index f242f3de94..a3665bbc15 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/AmazonSimpleSystemsManagementClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/AmazonSimpleSystemsManagementClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSimpleSystemsManagement CreateClient(AWSCredentials credentials return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSimpleSystemsManagementConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMDeployablePatchSnapshotForInstance-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMDeployablePatchSnapshotForInstance-Cmdlet.cs index 36fc19e80c..e4f626228a 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMDeployablePatchSnapshotForInstance-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMDeployablePatchSnapshotForInstance-Cmdlet.cs @@ -59,9 +59,9 @@ public partial class GetSSMDeployablePatchSnapshotForInstanceCmdlet : AmazonSimp /// /// /// A list of explicitly approved patches for the baseline.For information about accepted formats for lists of approved patches and rejected - /// patches, see About - /// package name formats for approved and rejected patch lists in the Amazon Web - /// Services Systems Manager User Guide. + /// patches, see Package + /// name formats for approved and rejected patch lists in the Amazon Web Services + /// Systems Manager User Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -147,9 +147,9 @@ public partial class GetSSMDeployablePatchSnapshotForInstanceCmdlet : AmazonSimp /// /// /// A list of explicitly rejected patches for the baseline.For information about accepted formats for lists of approved patches and rejected - /// patches, see About - /// package name formats for approved and rejected patch lists in the Amazon Web - /// Services Systems Manager User Guide. + /// patches, see Package + /// name formats for approved and rejected patch lists in the Amazon Web Services + /// Systems Manager User Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMInstancePatch-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMInstancePatch-Cmdlet.cs index 8ea3bcb665..84815374d3 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMInstancePatch-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMInstancePatch-Cmdlet.cs @@ -46,9 +46,8 @@ public partial class GetSSMInstancePatchCmdlet : AmazonSimpleSystemsManagementCl #region Parameter Filter /// /// - /// Each element in the array is a structure containing a key-value pair.Supported keys for DescribeInstancePatchesinclude the following:
    • ClassificationSample values: Security | SecurityUpdates
    • KBIdSample values: KB4480056 | java-1.7.0-openjdk.x86_64
    • SeveritySample values: Important | Medium | Low
    • StateSample values: Installed | InstalledOther | InstalledPendingRebootFor lists of all State values, see Understanding - /// patch compliance state values in the Amazon Web Services Systems Manager User - /// Guide.
    + /// Each element in the array is a structure containing a key-value pair.Supported keys for DescribeInstancePatchesinclude the following:
    • ClassificationSample values: Security | SecurityUpdates
    • KBIdSample values: KB4480056 | java-1.7.0-openjdk.x86_64
    • SeveritySample values: Important | Medium | Low
    • StateSample values: Installed | InstalledOther | InstalledPendingRebootFor lists of all State values, see Patch + /// compliance state values in the Amazon Web Services Systems Manager User Guide.
    ///
    ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMMaintenanceWindowExecutionList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMMaintenanceWindowExecutionList-Cmdlet.cs index bc90c0026d..bf2c299a6d 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMMaintenanceWindowExecutionList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMMaintenanceWindowExecutionList-Cmdlet.cs @@ -49,7 +49,7 @@ public partial class GetSSMMaintenanceWindowExecutionListCmdlet : AmazonSimpleSy /// /// Each entry in the array is a structure containing:
    • Key. A string between 1 and 128 characters. Supported keys include ExecutedBefore /// and ExecutedAfter.
    • Values. An array of strings, each between 1 and 256 characters. Supported values are - /// date/time strings in a valid ISO 8601 date/time format, such as 2021-11-04T05:00:00Z.
    + /// date/time strings in a valid ISO 8601 date/time format, such as 2024-11-04T05:00:00Z.
    /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMParameter-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMParameter-Cmdlet.cs index ba762edfcd..5642d2df08 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMParameter-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Get-SSMParameter-Cmdlet.cs @@ -54,7 +54,7 @@ public partial class GetSSMParameterCmdlet : AmazonSimpleSystemsManagementClient /// /// The name or Amazon Resource Name (ARN) of the parameter that you want to query. For /// parameters shared with you from another account, you must use the full ARN.To query by parameter label, use "Name": "name:label". To query by parameter - /// version, use "Name": "name:version".For more information about shared parameters, see Working + /// version, use "Name": "name:version".For more information about shared parameters, see Working /// with shared parameters in the Amazon Web Services Systems Manager User Guide. ///
    ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMActivation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMActivation-Cmdlet.cs index d08384c104..a57693cc10 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMActivation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMActivation-Cmdlet.cs @@ -33,9 +33,9 @@ namespace Amazon.PowerShell.Cmdlets.SSM /// Registering these machines with Systems Manager makes it possible to manage them using /// Systems Manager capabilities. You use the activation code and ID when installing SSM /// Agent on machines in your hybrid environment. For more information about requirements - /// for managing on-premises machines using Systems Manager, see Setting - /// up Amazon Web Services Systems Manager for hybrid and multicloud environments - /// in the Amazon Web Services Systems Manager User Guide. + /// for managing on-premises machines using Systems Manager, see Using + /// Amazon Web Services Systems Manager in hybrid and multicloud environments in the + /// Amazon Web Services Systems Manager User Guide. /// /// /// Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises @@ -81,7 +81,7 @@ public partial class NewSSMActivationCmdlet : AmazonSimpleSystemsManagementClien /// /// /// The date by which this activation request should expire, in timestamp format, such - /// as "2021-07-07T00:00:00". You can specify a date up to 30 days in advance. If you + /// as "2024-07-07T00:00:00". You can specify a date up to 30 days in advance. If you /// don't provide an expiration date, the activation code expires in 24 hours. /// /// @@ -95,9 +95,9 @@ public partial class NewSSMActivationCmdlet : AmazonSimpleSystemsManagementClien /// The name of the Identity and Access Management (IAM) role that you want to assign /// to the managed node. This IAM role must provide AssumeRole permissions for the Amazon /// Web Services Systems Manager service principal ssm.amazonaws.com. For more - /// information, see Create - /// an IAM service role for a hybrid and multicloud environment in the Amazon Web - /// Services Systems Manager User Guide.You can't specify an IAM service-linked role for this parameter. You must create a + /// information, see Create + /// the IAM service role required for Systems Manager in a hybrid and multicloud environments + /// in the Amazon Web Services Systems Manager User Guide.You can't specify an IAM service-linked role for this parameter. You must create a /// unique role. /// ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMAssociation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMAssociation-Cmdlet.cs index 4788cf001b..ae7a961237 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMAssociation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMAssociation-Cmdlet.cs @@ -383,7 +383,7 @@ public partial class NewSSMAssociationCmdlet : AmazonSimpleSystemsManagementClie /// Web Services resource groups, all managed nodes in an Amazon Web Services account, /// or individual managed node IDs. You can target all managed nodes in an Amazon Web /// Services account by specifying the InstanceIds key with a value of *. - /// For more information about choosing targets for an association, see About + /// For more information about choosing targets for an association, see Understanding /// targets and rate controls in State Manager associations in the Amazon Web Services /// Systems Manager User Guide.
    /// diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMDocument-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMDocument-Cmdlet.cs index f959185dfc..d4b4a48fa7 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMDocument-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMDocument-Cmdlet.cs @@ -31,7 +31,7 @@ namespace Amazon.PowerShell.Cmdlets.SSM /// Creates a Amazon Web Services Systems Manager (SSM document). An SSM document defines /// the actions that Systems Manager performs on your managed nodes. For more information /// about SSM documents, including information about supported schemas, features, and - /// syntax, see Amazon + /// syntax, see Amazon /// Web Services Systems Manager Documents in the Amazon Web Services Systems Manager /// User Guide. ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMPatchBaseline-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMPatchBaseline-Cmdlet.cs index 47e23932b0..8ed4d8e32b 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMPatchBaseline-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMPatchBaseline-Cmdlet.cs @@ -53,9 +53,9 @@ public partial class NewSSMPatchBaselineCmdlet : AmazonSimpleSystemsManagementCl /// /// /// A list of explicitly approved patches for the baseline.For information about accepted formats for lists of approved patches and rejected - /// patches, see About - /// package name formats for approved and rejected patch lists in the Amazon Web - /// Services Systems Manager User Guide. + /// patches, see Package + /// name formats for approved and rejected patch lists in the Amazon Web Services + /// Systems Manager User Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -152,9 +152,9 @@ public partial class NewSSMPatchBaselineCmdlet : AmazonSimpleSystemsManagementCl /// /// /// A list of explicitly rejected patches for the baseline.For information about accepted formats for lists of approved patches and rejected - /// patches, see About - /// package name formats for approved and rejected patch lists in the Amazon Web - /// Services Systems Manager User Guide. + /// patches, see Package + /// name formats for approved and rejected patch lists in the Amazon Web Services + /// Systems Manager User Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMResourceDataSync-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMResourceDataSync-Cmdlet.cs index 2be5809783..28347fa111 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMResourceDataSync-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/New-SSMResourceDataSync-Cmdlet.cs @@ -36,8 +36,8 @@ namespace Amazon.PowerShell.Cmdlets.SSM /// /// You can configure Systems Manager Inventory to use the SyncToDestination type /// to synchronize Inventory data from multiple Amazon Web Services Regions to a single - /// Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Configuring - /// resource data sync for Inventory in the Amazon Web Services Systems Manager + /// Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Creatinga + /// a resource data sync for Inventory in the Amazon Web Services Systems Manager /// User Guide. /// /// You can configure Systems Manager Explorer to use the SyncFromSource type to diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Register-SSMTaskWithMaintenanceWindow-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Register-SSMTaskWithMaintenanceWindow-Cmdlet.cs index 7881553560..d43870d697 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Register-SSMTaskWithMaintenanceWindow-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Register-SSMTaskWithMaintenanceWindow-Cmdlet.cs @@ -426,7 +426,7 @@ public partial class RegisterSSMTaskWithMaintenanceWindowCmdlet : AmazonSimpleSy /// policy and custom service role for running your maintenance window tasks. The policy /// can be crafted to provide only the permissions needed for your particular maintenance /// window tasks. For more information, see Setting - /// up maintenance windows in the in the Amazon Web Services Systems Manager User + /// up Maintenance Windows in the in the Amazon Web Services Systems Manager User /// Guide. ///
    ///
    @@ -445,7 +445,7 @@ public partial class RegisterSSMTaskWithMaintenanceWindowCmdlet : AmazonSimpleSy /// policy and custom service role for running your maintenance window tasks. The policy /// can be crafted to provide only the permissions needed for your particular maintenance /// window tasks. For more information, see Setting - /// up maintenance windows in the in the Amazon Web Services Systems Manager User + /// up Maintenance Windows in the in the Amazon Web Services Systems Manager User /// Guide.
    /// ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Start-SSMAutomationExecution-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Start-SSMAutomationExecution-Cmdlet.cs index 9743a01eb7..db798c86db 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Start-SSMAutomationExecution-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Start-SSMAutomationExecution-Cmdlet.cs @@ -100,7 +100,8 @@ public partial class StartSSMAutomationExecutionCmdlet : AmazonSimpleSystemsMana /// /// /// The maximum number of targets allowed to run this task in parallel. You can specify - /// a number, such as 10, or a percentage, such as 10%. The default value is 10. + /// a number, such as 10, or a percentage, such as 10%. The default value is 10.If both this parameter and the TargetLocation:TargetsMaxConcurrency are supplied, + /// TargetLocation:TargetsMaxConcurrency takes precedence. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -120,7 +121,8 @@ public partial class StartSSMAutomationExecutionCmdlet : AmazonSimpleSystemsMana /// when the sixth error is received.
    Executions that are already running an automation when max-errors is reached are allowed /// to complete, but some of these executions may fail as well. If you need to ensure /// that there won't be more than max-errors failed executions, set max-concurrency to - /// 1 so the executions proceed one at a time. + /// 1 so the executions proceed one at a time.If this parameter and the TargetLocation:TargetsMaxErrors parameter are both + /// supplied, TargetLocation:TargetsMaxErrors takes precedence. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -174,8 +176,8 @@ public partial class StartSSMAutomationExecutionCmdlet : AmazonSimpleSystemsMana /// accounts where you want to run the automation. Use this operation to start an automation /// in multiple Amazon Web Services Regions and multiple Amazon Web Services accounts. /// For more information, see Running - /// Automation workflows in multiple Amazon Web Services Regions and Amazon Web Services - /// accounts in the Amazon Web Services Systems Manager User Guide.
    + /// automations in multiple Amazon Web Services Regions and accounts in the Amazon + /// Web Services Systems Manager User Guide. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -183,6 +185,17 @@ public partial class StartSSMAutomationExecutionCmdlet : AmazonSimpleSystemsMana public Amazon.SimpleSystemsManagement.Model.TargetLocation[] TargetLocation { get; set; } #endregion + #region Parameter TargetLocationsURL + /// + /// + /// Specify a publicly accessible URL for a file that contains the TargetLocations + /// body. Currently, only files in presigned Amazon S3 buckets are supported. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String TargetLocationsURL { get; set; } + #endregion + #region Parameter TargetMap /// /// @@ -209,7 +222,8 @@ public partial class StartSSMAutomationExecutionCmdlet : AmazonSimpleSystemsMana #region Parameter Target /// /// - /// A key-value mapping to target resources. Required if you specify TargetParameterName. + /// A key-value mapping to target resources. Required if you specify TargetParameterName.If both this parameter and the TargetLocation:Targets parameter are supplied, + /// TargetLocation:Targets takes precedence. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -335,6 +349,7 @@ protected override void ProcessRecord() { context.TargetLocation = new List(this.TargetLocation); } + context.TargetLocationsURL = this.TargetLocationsURL; if (this.TargetMap != null) { context.TargetMap = new List>>(); @@ -446,6 +461,10 @@ public object Execute(ExecutorContext context) { request.TargetLocations = cmdletContext.TargetLocation; } + if (cmdletContext.TargetLocationsURL != null) + { + request.TargetLocationsURL = cmdletContext.TargetLocationsURL; + } if (cmdletContext.TargetMap != null) { request.TargetMaps = cmdletContext.TargetMap; @@ -530,6 +549,7 @@ internal partial class CmdletContext : ExecutorContext public Dictionary> Parameter { get; set; } public List Tag { get; set; } public List TargetLocation { get; set; } + public System.String TargetLocationsURL { get; set; } public List>> TargetMap { get; set; } public System.String TargetParameterName { get; set; } public List Target { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMMaintenanceWindowTask-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMMaintenanceWindowTask-Cmdlet.cs index 1ccf17cc28..026bba899b 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMMaintenanceWindowTask-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMMaintenanceWindowTask-Cmdlet.cs @@ -465,7 +465,7 @@ public partial class UpdateSSMMaintenanceWindowTaskCmdlet : AmazonSimpleSystemsM /// policy and custom service role for running your maintenance window tasks. The policy /// can be crafted to provide only the permissions needed for your particular maintenance /// window tasks. For more information, see Setting - /// up maintenance windows in the in the Amazon Web Services Systems Manager User + /// up Maintenance Windows in the in the Amazon Web Services Systems Manager User /// Guide. /// /// @@ -484,7 +484,7 @@ public partial class UpdateSSMMaintenanceWindowTaskCmdlet : AmazonSimpleSystemsM /// policy and custom service role for running your maintenance window tasks. The policy /// can be crafted to provide only the permissions needed for your particular maintenance /// window tasks. For more information, see Setting - /// up maintenance windows in the in the Amazon Web Services Systems Manager User + /// up Maintenance Windows in the in the Amazon Web Services Systems Manager User /// Guide. /// ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMManagedInstanceRole-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMManagedInstanceRole-Cmdlet.cs index 09fcad01ea..fe13f63678 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMManagedInstanceRole-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMManagedInstanceRole-Cmdlet.cs @@ -50,9 +50,9 @@ public partial class UpdateSSMManagedInstanceRoleCmdlet : AmazonSimpleSystemsMan /// The name of the Identity and Access Management (IAM) role that you want to assign /// to the managed node. This IAM role must provide AssumeRole permissions for the Amazon /// Web Services Systems Manager service principal ssm.amazonaws.com. For more - /// information, see Create - /// an IAM service role for a hybrid and multicloud environment in the Amazon Web - /// Services Systems Manager User Guide.You can't specify an IAM service-linked role for this parameter. You must create a + /// information, see Create + /// the IAM service role required for Systems Manager in hybrid and multicloud environments + /// in the Amazon Web Services Systems Manager User Guide.You can't specify an IAM service-linked role for this parameter. You must create a /// unique role. ///
    ///
    diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMOpsItem-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMOpsItem-Cmdlet.cs index c1fd29847e..835c0303b9 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMOpsItem-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMOpsItem-Cmdlet.cs @@ -226,8 +226,7 @@ public partial class UpdateSSMOpsItemCmdlet : AmazonSimpleSystemsManagementClien #region Parameter Status /// /// - /// The OpsItem status. Status can be Open, In Progress, or Resolved. - /// For more information, see Editing + /// The OpsItem status. For more information, see Editing /// OpsItem details in the Amazon Web Services Systems Manager User Guide. /// /// diff --git a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMPatchBaseline-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMPatchBaseline-Cmdlet.cs index 4168e0bb37..32bdcb4ba8 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMPatchBaseline-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleSystemsManagement/Basic/Update-SSMPatchBaseline-Cmdlet.cs @@ -55,9 +55,9 @@ public partial class UpdateSSMPatchBaselineCmdlet : AmazonSimpleSystemsManagemen /// /// /// A list of explicitly approved patches for the baseline.For information about accepted formats for lists of approved patches and rejected - /// patches, see About - /// package name formats for approved and rejected patch lists in the Amazon Web - /// Services Systems Manager User Guide. + /// patches, see Package + /// name formats for approved and rejected patch lists in the Amazon Web Services + /// Systems Manager User Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -151,9 +151,9 @@ public partial class UpdateSSMPatchBaselineCmdlet : AmazonSimpleSystemsManagemen /// /// /// A list of explicitly rejected patches for the baseline.For information about accepted formats for lists of approved patches and rejected - /// patches, see About - /// package name formats for approved and rejected patch lists in the Amazon Web - /// Services Systems Manager User Guide. + /// patches, see Package + /// name formats for approved and rejected patch lists in the Amazon Web Services + /// Systems Manager User Guide. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/SimpleWorkflow/AmazonSimpleWorkflowClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SimpleWorkflow/AmazonSimpleWorkflowClientCmdlet.cs index 1585ec6e39..8d7b2446f4 100644 --- a/modules/AWSPowerShell/Cmdlets/SimpleWorkflow/AmazonSimpleWorkflowClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SimpleWorkflow/AmazonSimpleWorkflowClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSimpleWorkflow CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSimpleWorkflowConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SnowDeviceManagement/AmazonSnowDeviceManagementClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SnowDeviceManagement/AmazonSnowDeviceManagementClientCmdlet.cs index 232c6d67e1..7fc4c87d6d 100644 --- a/modules/AWSPowerShell/Cmdlets/SnowDeviceManagement/AmazonSnowDeviceManagementClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SnowDeviceManagement/AmazonSnowDeviceManagementClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSnowDeviceManagement CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSnowDeviceManagementConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Snowball/AmazonSnowballClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Snowball/AmazonSnowballClientCmdlet.cs index a973bb776b..e5e41702af 100644 --- a/modules/AWSPowerShell/Cmdlets/Snowball/AmazonSnowballClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Snowball/AmazonSnowballClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSnowball CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSnowballConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SsmSap/AmazonSsmSapClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SsmSap/AmazonSsmSapClientCmdlet.cs index 96abb33269..d9d21e7fea 100644 --- a/modules/AWSPowerShell/Cmdlets/SsmSap/AmazonSsmSapClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SsmSap/AmazonSsmSapClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSsmSap CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSsmSapConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/StepFunctions/AWS.Tools.StepFunctions.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/StepFunctions/AWS.Tools.StepFunctions.Completers.psm1 index 42e57ee187..ba517060c0 100644 --- a/modules/AWSPowerShell/Cmdlets/StepFunctions/AWS.Tools.StepFunctions.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/StepFunctions/AWS.Tools.StepFunctions.Completers.psm1 @@ -144,6 +144,13 @@ $SFN_Completers = { break } + # Amazon.StepFunctions.ValidateStateMachineDefinitionSeverity + "Test-SFNStateMachineDefinitionValidation/Severity" + { + $v = "ERROR","WARNING" + break + } + } @@ -158,6 +165,7 @@ $SFN_map = @{ "InspectionLevel"=@("Test-SFNState") "LoggingConfiguration_Level"=@("New-SFNStateMachine","Update-SFNStateMachine") "RedriveFilter"=@("Get-SFNExecutionList") + "Severity"=@("Test-SFNStateMachineDefinitionValidation") "StatusFilter"=@("Get-SFNExecutionList") "Type"=@("New-SFNStateMachine","Test-SFNStateMachineDefinitionValidation") } diff --git a/modules/AWSPowerShell/Cmdlets/StepFunctions/AmazonStepFunctionsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/StepFunctions/AmazonStepFunctionsClientCmdlet.cs index b8da7fc333..52329f17f2 100644 --- a/modules/AWSPowerShell/Cmdlets/StepFunctions/AmazonStepFunctionsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StepFunctions/AmazonStepFunctionsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonStepFunctions CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonStepFunctionsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/StepFunctions/Basic/Test-SFNStateMachineDefinitionValidation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/StepFunctions/Basic/Test-SFNStateMachineDefinitionValidation-Cmdlet.cs index 796e39a0ca..faaa919bf1 100644 --- a/modules/AWSPowerShell/Cmdlets/StepFunctions/Basic/Test-SFNStateMachineDefinitionValidation-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StepFunctions/Basic/Test-SFNStateMachineDefinitionValidation-Cmdlet.cs @@ -83,6 +83,19 @@ public partial class TestSFNStateMachineDefinitionValidationCmdlet : AmazonStepF public System.String Definition { get; set; } #endregion + #region Parameter Severity + /// + /// + /// Minimum level of diagnostics to return. ERROR returns only ERROR diagnostics, + /// whereas WARNING returns both WARNING and ERROR diagnostics. The + /// default is ERROR. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.StepFunctions.ValidateStateMachineDefinitionSeverity")] + public Amazon.StepFunctions.ValidateStateMachineDefinitionSeverity Severity { get; set; } + #endregion + #region Parameter Type /// /// @@ -94,6 +107,19 @@ public partial class TestSFNStateMachineDefinitionValidationCmdlet : AmazonStepF public Amazon.StepFunctions.StateMachineType Type { get; set; } #endregion + #region Parameter MaxResult + /// + /// + /// The maximum number of diagnostics that are returned per call. The default and maximum + /// value is 100. Setting the value to 0 will also use the default of 100.If the number of diagnostics returned in the response exceeds maxResults, the + /// value of the truncated field in the response will be set to true. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. @@ -147,6 +173,8 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter Definition which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + context.MaxResult = this.MaxResult; + context.Severity = this.Severity; context.Type = this.Type; // allow further manipulation of loaded context prior to processing @@ -168,6 +196,14 @@ public object Execute(ExecutorContext context) { request.Definition = cmdletContext.Definition; } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.Severity != null) + { + request.Severity = cmdletContext.Severity; + } if (cmdletContext.Type != null) { request.Type = cmdletContext.Type; @@ -234,6 +270,8 @@ private Amazon.StepFunctions.Model.ValidateStateMachineDefinitionResponse CallAW internal partial class CmdletContext : ExecutorContext { public System.String Definition { get; set; } + public System.Int32? MaxResult { get; set; } + public Amazon.StepFunctions.ValidateStateMachineDefinitionSeverity Severity { get; set; } public Amazon.StepFunctions.StateMachineType Type { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; diff --git a/modules/AWSPowerShell/Cmdlets/StorageGateway/AWS.Tools.StorageGateway.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/StorageGateway/AWS.Tools.StorageGateway.Completers.psm1 index d13151cb0c..a21fb862d8 100644 --- a/modules/AWSPowerShell/Cmdlets/StorageGateway/AWS.Tools.StorageGateway.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/StorageGateway/AWS.Tools.StorageGateway.Completers.psm1 @@ -97,6 +97,18 @@ $SG_Completers = { break } + # Amazon.StorageGateway.EncryptionType + { + ($_ -eq "New-SGNFSFileShare/EncryptionType") -Or + ($_ -eq "New-SGSMBFileShare/EncryptionType") -Or + ($_ -eq "Update-SGNFSFileShare/EncryptionType") -Or + ($_ -eq "Update-SGSMBFileShare/EncryptionType") + } + { + $v = "DsseKms","SseKms","SseS3" + break + } + # Amazon.StorageGateway.GatewayCapacity "Update-SGGatewayInformation/GatewayCapacity" { @@ -147,6 +159,7 @@ $SG_Completers = { $SG_map = @{ "CaseSensitivity"=@("New-SGSMBFileShare","Update-SGSMBFileShare") + "EncryptionType"=@("New-SGNFSFileShare","New-SGSMBFileShare","Update-SGNFSFileShare","Update-SGSMBFileShare") "GatewayCapacity"=@("Update-SGGatewayInformation") "ObjectACL"=@("New-SGNFSFileShare","New-SGSMBFileShare","Update-SGNFSFileShare","Update-SGSMBFileShare") "RetentionLockType"=@("New-SGTapePool") diff --git a/modules/AWSPowerShell/Cmdlets/StorageGateway/AmazonStorageGatewayClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/StorageGateway/AmazonStorageGatewayClientCmdlet.cs index 45175fc131..82cb1f5e1c 100644 --- a/modules/AWSPowerShell/Cmdlets/StorageGateway/AmazonStorageGatewayClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StorageGateway/AmazonStorageGatewayClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonStorageGateway CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonStorageGatewayConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGNFSFileShare-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGNFSFileShare-Cmdlet.cs index 4239cd1dca..56e4e7dd95 100644 --- a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGNFSFileShare-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGNFSFileShare-Cmdlet.cs @@ -128,6 +128,22 @@ public partial class NewSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdlet, public System.String NFSFileShareDefaults_DirectoryMode { get; set; } #endregion + #region Parameter EncryptionType + /// + /// + /// A value that specifies the type of server-side encryption that the file share will + /// use for the data that it stores in Amazon S3.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.StorageGateway.EncryptionType")] + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } + #endregion + #region Parameter NFSFileShareDefaults_FileMode /// /// @@ -191,23 +207,13 @@ public partial class NewSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdlet, public System.Boolean? GuessMIMETypeEnabled { get; set; } #endregion - #region Parameter KMSEncrypted - /// - /// - /// Set to true to use Amazon S3 server-side encryption with your own KMS key, - /// or false to use a key managed by Amazon S3. Optional.Valid Values: true | false - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.Boolean? KMSEncrypted { get; set; } - #endregion - #region Parameter KMSKey /// /// - /// The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - /// S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This - /// value can only be set when KMSEncrypted is true. Optional. + /// Optional. The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) + /// used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + /// CMKs. This value must be set if KMSEncrypted is true, or if EncryptionType + /// is SseKms or DsseKms. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -244,7 +250,9 @@ public partial class NewSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdlet, /// generating an ObjectUploaded notification. Because clients can make many small /// writes to files, it's best to set this parameter for as long as possible to avoid /// generating multiple notifications for the same file in a small time period.SettlingTimeInSeconds has no effect on the timing of the object uploading - /// to Amazon S3, only the timing of the notification.The following example sets NotificationPolicy on with SettlingTimeInSeconds + /// to Amazon S3, only the timing of the notification.This setting is not meant to specify an exact time at which the notification will + /// be sent. In some cases, the gateway might require more than the specified delay time + /// to generate and send notifications.The following example sets NotificationPolicy on with SettlingTimeInSeconds /// set to 60.{\"Upload\": {\"SettlingTimeInSeconds\": 60}}The following example sets NotificationPolicy off.{} /// /// @@ -376,6 +384,24 @@ public partial class NewSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdlet, public System.String ClientToken { get; set; } #endregion + #region Parameter KMSEncrypted + /// + /// + /// Optional. Set to true to use Amazon S3 server-side encryption with your own + /// KMS key (SSE-KMS), or false to use a key managed by Amazon S3 (SSE-S3). To + /// use dual-layer encryption (DSSE-KMS), set the EncryptionType parameter instead.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true.Valid Values: true | false + /// + /// This parameter is deprecated. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [System.ObsoleteAttribute("KMSEncrypted is deprecated, use EncryptionType instead.")] + public System.Boolean? KMSEncrypted { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'FileShareARN'. @@ -453,6 +479,7 @@ protected override void ProcessRecord() } #endif context.DefaultStorageClass = this.DefaultStorageClass; + context.EncryptionType = this.EncryptionType; context.FileShareName = this.FileShareName; context.GatewayARN = this.GatewayARN; #if MODULAR @@ -462,7 +489,9 @@ protected override void ProcessRecord() } #endif context.GuessMIMETypeEnabled = this.GuessMIMETypeEnabled; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSEncrypted = this.KMSEncrypted; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSKey = this.KMSKey; context.LocationARN = this.LocationARN; #if MODULAR @@ -547,6 +576,10 @@ public object Execute(ExecutorContext context) { request.DefaultStorageClass = cmdletContext.DefaultStorageClass; } + if (cmdletContext.EncryptionType != null) + { + request.EncryptionType = cmdletContext.EncryptionType; + } if (cmdletContext.FileShareName != null) { request.FileShareName = cmdletContext.FileShareName; @@ -559,10 +592,12 @@ public object Execute(ExecutorContext context) { request.GuessMIMETypeEnabled = cmdletContext.GuessMIMETypeEnabled.Value; } + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSEncrypted != null) { request.KMSEncrypted = cmdletContext.KMSEncrypted.Value; } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSKey != null) { request.KMSKey = cmdletContext.KMSKey; @@ -719,9 +754,11 @@ internal partial class CmdletContext : ExecutorContext public List ClientList { get; set; } public System.String ClientToken { get; set; } public System.String DefaultStorageClass { get; set; } + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } public System.String FileShareName { get; set; } public System.String GatewayARN { get; set; } public System.Boolean? GuessMIMETypeEnabled { get; set; } + [System.ObsoleteAttribute] public System.Boolean? KMSEncrypted { get; set; } public System.String KMSKey { get; set; } public System.String LocationARN { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGSMBFileShare-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGSMBFileShare-Cmdlet.cs index 3986ef9cdb..006c801e4c 100644 --- a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGSMBFileShare-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/New-SGSMBFileShare-Cmdlet.cs @@ -153,6 +153,22 @@ public partial class NewSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdlet, public System.String DefaultStorageClass { get; set; } #endregion + #region Parameter EncryptionType + /// + /// + /// A value that specifies the type of server-side encryption that the file share will + /// use for the data that it stores in Amazon S3.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.StorageGateway.EncryptionType")] + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } + #endregion + #region Parameter FileShareName /// /// @@ -206,23 +222,13 @@ public partial class NewSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdlet, public System.String[] InvalidUserList { get; set; } #endregion - #region Parameter KMSEncrypted - /// - /// - /// Set to true to use Amazon S3 server-side encryption with your own KMS key, - /// or false to use a key managed by Amazon S3. Optional.Valid Values: true | false - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.Boolean? KMSEncrypted { get; set; } - #endregion - #region Parameter KMSKey /// /// - /// The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - /// S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This - /// value can only be set when KMSEncrypted is true. Optional. + /// Optional. The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) + /// used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + /// CMKs. This value must be set if KMSEncrypted is true, or if EncryptionType + /// is SseKms or DsseKms. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -259,7 +265,9 @@ public partial class NewSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdlet, /// generating an ObjectUploaded notification. Because clients can make many small /// writes to files, it's best to set this parameter for as long as possible to avoid /// generating multiple notifications for the same file in a small time period.SettlingTimeInSeconds has no effect on the timing of the object uploading - /// to Amazon S3, only the timing of the notification.The following example sets NotificationPolicy on with SettlingTimeInSeconds + /// to Amazon S3, only the timing of the notification.This setting is not meant to specify an exact time at which the notification will + /// be sent. In some cases, the gateway might require more than the specified delay time + /// to generate and send notifications.The following example sets NotificationPolicy on with SettlingTimeInSeconds /// set to 60.{\"Upload\": {\"SettlingTimeInSeconds\": 60}}The following example sets NotificationPolicy off.{} /// /// @@ -339,9 +347,9 @@ public partial class NewSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdlet, /// /// /// Set this value to true to enable access control list (ACL) on the SMB file - /// share. Set it to false to map file and directory permissions to the POSIX permissions.For more information, see Using - /// Microsoft Windows ACLs to control access to an SMB file share in the Storage - /// Gateway User Guide.Valid Values: true | false + /// share. Set it to false to map file and directory permissions to the POSIX permissions.For more information, see Using + /// Windows ACLs to limit SMB file share access in the Amazon S3 File Gateway User + /// Guide.Valid Values: true | false /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -407,6 +415,24 @@ public partial class NewSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdlet, public System.String ClientToken { get; set; } #endregion + #region Parameter KMSEncrypted + /// + /// + /// Optional. Set to true to use Amazon S3 server-side encryption with your own + /// KMS key (SSE-KMS), or false to use a key managed by Amazon S3 (SSE-S3). To + /// use dual-layer encryption (DSSE-KMS), set the EncryptionType parameter instead.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true.Valid Values: true | false + /// + /// This parameter is deprecated. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [System.ObsoleteAttribute("KMSEncrypted is deprecated, use EncryptionType instead.")] + public System.Boolean? KMSEncrypted { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'FileShareARN'. @@ -487,6 +513,7 @@ protected override void ProcessRecord() } #endif context.DefaultStorageClass = this.DefaultStorageClass; + context.EncryptionType = this.EncryptionType; context.FileShareName = this.FileShareName; context.GatewayARN = this.GatewayARN; #if MODULAR @@ -500,7 +527,9 @@ protected override void ProcessRecord() { context.InvalidUserList = new List(this.InvalidUserList); } + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSEncrypted = this.KMSEncrypted; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSKey = this.KMSKey; context.LocationARN = this.LocationARN; #if MODULAR @@ -598,6 +627,10 @@ public object Execute(ExecutorContext context) { request.DefaultStorageClass = cmdletContext.DefaultStorageClass; } + if (cmdletContext.EncryptionType != null) + { + request.EncryptionType = cmdletContext.EncryptionType; + } if (cmdletContext.FileShareName != null) { request.FileShareName = cmdletContext.FileShareName; @@ -614,10 +647,12 @@ public object Execute(ExecutorContext context) { request.InvalidUserList = cmdletContext.InvalidUserList; } + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSEncrypted != null) { request.KMSEncrypted = cmdletContext.KMSEncrypted.Value; } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSKey != null) { request.KMSKey = cmdletContext.KMSKey; @@ -736,10 +771,12 @@ internal partial class CmdletContext : ExecutorContext public Amazon.StorageGateway.CaseSensitivity CaseSensitivity { get; set; } public System.String ClientToken { get; set; } public System.String DefaultStorageClass { get; set; } + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } public System.String FileShareName { get; set; } public System.String GatewayARN { get; set; } public System.Boolean? GuessMIMETypeEnabled { get; set; } public List InvalidUserList { get; set; } + [System.ObsoleteAttribute] public System.Boolean? KMSEncrypted { get; set; } public System.String KMSKey { get; set; } public System.String LocationARN { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGMaintenanceStartTime-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGMaintenanceStartTime-Cmdlet.cs index f40a41eb85..1f9d7a52a2 100644 --- a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGMaintenanceStartTime-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGMaintenanceStartTime-Cmdlet.cs @@ -61,7 +61,11 @@ public partial class UpdateSGMaintenanceStartTimeCmdlet : AmazonStorageGatewayCl #region Parameter SoftwareUpdatePreferences_AutomaticUpdatePolicy /// /// - /// Indicates the automatic update policy for a gateway.ALL_VERSIONS - Enables regular gateway maintenance updates.EMERGENCY_VERSIONS_ONLY - Disables regular gateway maintenance updates. + /// Indicates the automatic update policy for a gateway.ALL_VERSIONS - Enables regular gateway maintenance updates.EMERGENCY_VERSIONS_ONLY - Disables regular gateway maintenance updates. The + /// gateway will still receive emergency version updates on rare occasions if necessary + /// to remedy highly critical security or durability issues. You will be notified before + /// an emergency version update is applied. These updates are applied during your gateway's + /// scheduled maintenance window. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGNFSFileShare-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGNFSFileShare-Cmdlet.cs index a6b11abf5f..1d08ea1d01 100644 --- a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGNFSFileShare-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGNFSFileShare-Cmdlet.cs @@ -118,6 +118,22 @@ public partial class UpdateSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdl public System.String NFSFileShareDefaults_DirectoryMode { get; set; } #endregion + #region Parameter EncryptionType + /// + /// + /// A value that specifies the type of server-side encryption that the file share will + /// use for the data that it stores in Amazon S3.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.StorageGateway.EncryptionType")] + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } + #endregion + #region Parameter NFSFileShareDefaults_FileMode /// /// @@ -180,23 +196,13 @@ public partial class UpdateSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdl public System.Boolean? GuessMIMETypeEnabled { get; set; } #endregion - #region Parameter KMSEncrypted - /// - /// - /// Set to true to use Amazon S3 server-side encryption with your own KMS key, - /// or false to use a key managed by Amazon S3. Optional.Valid Values: true | false - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.Boolean? KMSEncrypted { get; set; } - #endregion - #region Parameter KMSKey /// /// - /// The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - /// S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This - /// value can only be set when KMSEncrypted is true. Optional. + /// Optional. The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) + /// used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + /// CMKs. This value must be set if KMSEncrypted is true, or if EncryptionType + /// is SseKms or DsseKms. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -211,7 +217,9 @@ public partial class UpdateSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdl /// generating an ObjectUploaded notification. Because clients can make many small /// writes to files, it's best to set this parameter for as long as possible to avoid /// generating multiple notifications for the same file in a small time period.SettlingTimeInSeconds has no effect on the timing of the object uploading - /// to Amazon S3, only the timing of the notification.The following example sets NotificationPolicy on with SettlingTimeInSeconds + /// to Amazon S3, only the timing of the notification.This setting is not meant to specify an exact time at which the notification will + /// be sent. In some cases, the gateway might require more than the specified delay time + /// to generate and send notifications.The following example sets NotificationPolicy on with SettlingTimeInSeconds /// set to 60.{\"Upload\": {\"SettlingTimeInSeconds\": 60}}The following example sets NotificationPolicy off.{} /// /// @@ -279,6 +287,24 @@ public partial class UpdateSGNFSFileShareCmdlet : AmazonStorageGatewayClientCmdl public System.String Squash { get; set; } #endregion + #region Parameter KMSEncrypted + /// + /// + /// Optional. Set to true to use Amazon S3 server-side encryption with your own + /// KMS key (SSE-KMS), or false to use a key managed by Amazon S3 (SSE-S3). To + /// use dual-layer encryption (DSSE-KMS), set the EncryptionType parameter instead.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true.Valid Values: true | false + /// + /// This parameter is deprecated. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [System.ObsoleteAttribute("KMSEncrypted is deprecated, use EncryptionType instead.")] + public System.Boolean? KMSEncrypted { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'FileShareARN'. @@ -348,6 +374,7 @@ protected override void ProcessRecord() context.ClientList = new List(this.ClientList); } context.DefaultStorageClass = this.DefaultStorageClass; + context.EncryptionType = this.EncryptionType; context.FileShareARN = this.FileShareARN; #if MODULAR if (this.FileShareARN == null && ParameterWasBound(nameof(this.FileShareARN))) @@ -357,7 +384,9 @@ protected override void ProcessRecord() #endif context.FileShareName = this.FileShareName; context.GuessMIMETypeEnabled = this.GuessMIMETypeEnabled; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSEncrypted = this.KMSEncrypted; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSKey = this.KMSKey; context.NFSFileShareDefaults_DirectoryMode = this.NFSFileShareDefaults_DirectoryMode; context.NFSFileShareDefaults_FileMode = this.NFSFileShareDefaults_FileMode; @@ -415,6 +444,10 @@ public object Execute(ExecutorContext context) { request.DefaultStorageClass = cmdletContext.DefaultStorageClass; } + if (cmdletContext.EncryptionType != null) + { + request.EncryptionType = cmdletContext.EncryptionType; + } if (cmdletContext.FileShareARN != null) { request.FileShareARN = cmdletContext.FileShareARN; @@ -427,10 +460,12 @@ public object Execute(ExecutorContext context) { request.GuessMIMETypeEnabled = cmdletContext.GuessMIMETypeEnabled.Value; } + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSEncrypted != null) { request.KMSEncrypted = cmdletContext.KMSEncrypted.Value; } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSKey != null) { request.KMSKey = cmdletContext.KMSKey; @@ -569,9 +604,11 @@ internal partial class CmdletContext : ExecutorContext public System.Int32? CacheAttributes_CacheStaleTimeoutInSecond { get; set; } public List ClientList { get; set; } public System.String DefaultStorageClass { get; set; } + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } public System.String FileShareARN { get; set; } public System.String FileShareName { get; set; } public System.Boolean? GuessMIMETypeEnabled { get; set; } + [System.ObsoleteAttribute] public System.Boolean? KMSEncrypted { get; set; } public System.String KMSKey { get; set; } public System.String NFSFileShareDefaults_DirectoryMode { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGSMBFileShare-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGSMBFileShare-Cmdlet.cs index edf4351511..306c571ad9 100644 --- a/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGSMBFileShare-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/StorageGateway/Basic/Update-SGSMBFileShare-Cmdlet.cs @@ -129,6 +129,22 @@ public partial class UpdateSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdl public System.String DefaultStorageClass { get; set; } #endregion + #region Parameter EncryptionType + /// + /// + /// A value that specifies the type of server-side encryption that the file share will + /// use for the data that it stores in Amazon S3.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.StorageGateway.EncryptionType")] + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } + #endregion + #region Parameter FileShareARN /// /// @@ -182,23 +198,13 @@ public partial class UpdateSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdl public System.String[] InvalidUserList { get; set; } #endregion - #region Parameter KMSEncrypted - /// - /// - /// Set to true to use Amazon S3 server-side encryption with your own KMS key, - /// or false to use a key managed by Amazon S3. Optional.Valid Values: true | false - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.Boolean? KMSEncrypted { get; set; } - #endregion - #region Parameter KMSKey /// /// - /// The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon - /// S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This - /// value can only be set when KMSEncrypted is true. Optional. + /// Optional. The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) + /// used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + /// CMKs. This value must be set if KMSEncrypted is true, or if EncryptionType + /// is SseKms or DsseKms. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -213,7 +219,9 @@ public partial class UpdateSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdl /// generating an ObjectUploaded notification. Because clients can make many small /// writes to files, it's best to set this parameter for as long as possible to avoid /// generating multiple notifications for the same file in a small time period.SettlingTimeInSeconds has no effect on the timing of the object uploading - /// to Amazon S3, only the timing of the notification.The following example sets NotificationPolicy on with SettlingTimeInSeconds + /// to Amazon S3, only the timing of the notification.This setting is not meant to specify an exact time at which the notification will + /// be sent. In some cases, the gateway might require more than the specified delay time + /// to generate and send notifications.The following example sets NotificationPolicy on with SettlingTimeInSeconds /// set to 60.{\"Upload\": {\"SettlingTimeInSeconds\": 60}}The following example sets NotificationPolicy off.{} /// /// @@ -275,9 +283,9 @@ public partial class UpdateSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdl /// /// /// Set this value to true to enable access control list (ACL) on the SMB file - /// share. Set it to false to map file and directory permissions to the POSIX permissions.For more information, see Using - /// Microsoft Windows ACLs to control access to an SMB file share in the Storage - /// Gateway User Guide.Valid Values: true | false + /// share. Set it to false to map file and directory permissions to the POSIX permissions.For more information, see Using + /// Windows ACLs to limit SMB file share access in the Amazon S3 File Gateway User + /// Guide.Valid Values: true | false /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -297,6 +305,24 @@ public partial class UpdateSGSMBFileShareCmdlet : AmazonStorageGatewayClientCmdl public System.String[] ValidUserList { get; set; } #endregion + #region Parameter KMSEncrypted + /// + /// + /// Optional. Set to true to use Amazon S3 server-side encryption with your own + /// KMS key (SSE-KMS), or false to use a key managed by Amazon S3 (SSE-S3). To + /// use dual-layer encryption (DSSE-KMS), set the EncryptionType parameter instead.We recommend using EncryptionType instead of KMSEncrypted to set the + /// file share encryption method. You do not need to provide values for both parameters.If values for both parameters exist in the same request, then the specified encryption + /// methods must not conflict. For example, if EncryptionType is SseS3, + /// then KMSEncrypted must be false. If EncryptionType is SseKms + /// or DsseKms, then KMSEncrypted must be true.Valid Values: true | false + /// + /// This parameter is deprecated. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [System.ObsoleteAttribute("KMSEncrypted is deprecated, use EncryptionType instead.")] + public System.Boolean? KMSEncrypted { get; set; } + #endregion + #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is 'FileShareARN'. @@ -368,6 +394,7 @@ protected override void ProcessRecord() context.CacheAttributes_CacheStaleTimeoutInSecond = this.CacheAttributes_CacheStaleTimeoutInSecond; context.CaseSensitivity = this.CaseSensitivity; context.DefaultStorageClass = this.DefaultStorageClass; + context.EncryptionType = this.EncryptionType; context.FileShareARN = this.FileShareARN; #if MODULAR if (this.FileShareARN == null && ParameterWasBound(nameof(this.FileShareARN))) @@ -381,7 +408,9 @@ protected override void ProcessRecord() { context.InvalidUserList = new List(this.InvalidUserList); } + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSEncrypted = this.KMSEncrypted; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.KMSKey = this.KMSKey; context.NotificationPolicy = this.NotificationPolicy; context.ObjectACL = this.ObjectACL; @@ -448,6 +477,10 @@ public object Execute(ExecutorContext context) { request.DefaultStorageClass = cmdletContext.DefaultStorageClass; } + if (cmdletContext.EncryptionType != null) + { + request.EncryptionType = cmdletContext.EncryptionType; + } if (cmdletContext.FileShareARN != null) { request.FileShareARN = cmdletContext.FileShareARN; @@ -464,10 +497,12 @@ public object Execute(ExecutorContext context) { request.InvalidUserList = cmdletContext.InvalidUserList; } + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSEncrypted != null) { request.KMSEncrypted = cmdletContext.KMSEncrypted.Value; } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute if (cmdletContext.KMSKey != null) { request.KMSKey = cmdletContext.KMSKey; @@ -567,10 +602,12 @@ internal partial class CmdletContext : ExecutorContext public System.Int32? CacheAttributes_CacheStaleTimeoutInSecond { get; set; } public Amazon.StorageGateway.CaseSensitivity CaseSensitivity { get; set; } public System.String DefaultStorageClass { get; set; } + public Amazon.StorageGateway.EncryptionType EncryptionType { get; set; } public System.String FileShareARN { get; set; } public System.String FileShareName { get; set; } public System.Boolean? GuessMIMETypeEnabled { get; set; } public List InvalidUserList { get; set; } + [System.ObsoleteAttribute] public System.Boolean? KMSEncrypted { get; set; } public System.String KMSKey { get; set; } public System.String NotificationPolicy { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/SupplyChain/AmazonSupplyChainClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SupplyChain/AmazonSupplyChainClientCmdlet.cs index 64c49b3ca9..0d9457886d 100644 --- a/modules/AWSPowerShell/Cmdlets/SupplyChain/AmazonSupplyChainClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SupplyChain/AmazonSupplyChainClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSupplyChain CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSupplyChainConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/SupportApp/AmazonSupportAppClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/SupportApp/AmazonSupportAppClientCmdlet.cs index 5bbfc2b24d..4c64bd8e2c 100644 --- a/modules/AWSPowerShell/Cmdlets/SupportApp/AmazonSupportAppClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/SupportApp/AmazonSupportAppClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSupportApp CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSupportAppConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Synthetics/AmazonSyntheticsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Synthetics/AmazonSyntheticsClientCmdlet.cs index d79120f5ee..4144ae75ea 100644 --- a/modules/AWSPowerShell/Cmdlets/Synthetics/AmazonSyntheticsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Synthetics/AmazonSyntheticsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonSynthetics CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonSyntheticsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Get-CWSYNCanaryList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Get-CWSYNCanaryList-Cmdlet.cs index e01ba93531..f20e90d2fe 100644 --- a/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Get-CWSYNCanaryList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Get-CWSYNCanaryList-Cmdlet.cs @@ -78,8 +78,8 @@ public partial class GetCWSYNCanaryListCmdlet : AmazonSyntheticsClientCmdlet, IE /// /// /// Specify this parameter to limit how many canaries are returned each time you use the - /// DescribeCanaries operation. If you omit this parameter, the default of 100 - /// is used. + /// DescribeCanaries operation. If you omit this parameter, the default of 20 is + /// used. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/New-CWSYNCanary-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/New-CWSYNCanary-Cmdlet.cs index 7116bb45ff..a745e85280 100644 --- a/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/New-CWSYNCanary-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/New-CWSYNCanary-Cmdlet.cs @@ -260,6 +260,19 @@ public partial class NewCWSYNCanaryCmdlet : AmazonSyntheticsClientCmdlet, IExecu public System.String Name { get; set; } #endregion + #region Parameter ResourcesToReplicateTag + /// + /// + /// To have the tags that you apply to this canary also be applied to the Lambda function + /// that the canary uses, specify this parameter with the value lambda-function.If you specify this parameter and don't specify any tags in the Tags parameter, + /// the canary creation fails. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("ResourcesToReplicateTags")] + public System.String[] ResourcesToReplicateTag { get; set; } + #endregion + #region Parameter RuntimeVersion /// /// @@ -351,7 +364,8 @@ public partial class NewCWSYNCanaryCmdlet : AmazonSyntheticsClientCmdlet, IExecu /// A list of key-value pairs to associate with the canary. You can associate as many /// as 50 tags with a canary.Tags can help you organize and categorize your resources. You can also use them to /// scope user permissions, by granting a user permission to access or change only the - /// resources that have certain tag values. + /// resources that have certain tag values.To have the tags that you apply to this canary also be applied to the Lambda function + /// that the canary uses, specify this parameter with the value lambda-function. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -484,6 +498,10 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter Name which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif + if (this.ResourcesToReplicateTag != null) + { + context.ResourcesToReplicateTag = new List(this.ResourcesToReplicateTag); + } context.RunConfig_ActiveTracing = this.RunConfig_ActiveTracing; if (this.RunConfig_EnvironmentVariable != null) { @@ -667,6 +685,10 @@ public object Execute(ExecutorContext context) { request.Name = cmdletContext.Name; } + if (cmdletContext.ResourcesToReplicateTag != null) + { + request.ResourcesToReplicateTags = cmdletContext.ResourcesToReplicateTag; + } // populate RunConfig var requestRunConfigIsNull = true; @@ -866,6 +888,7 @@ internal partial class CmdletContext : ExecutorContext public System.String ExecutionRoleArn { get; set; } public System.Int32? FailureRetentionPeriodInDay { get; set; } public System.String Name { get; set; } + public List ResourcesToReplicateTag { get; set; } public System.Boolean? RunConfig_ActiveTracing { get; set; } public Dictionary RunConfig_EnvironmentVariable { get; set; } public System.Int32? RunConfig_MemoryInMB { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Remove-CWSYNCanary-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Remove-CWSYNCanary-Cmdlet.cs index 787059e9b3..255ba2fd30 100644 --- a/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Remove-CWSYNCanary-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Synthetics/Basic/Remove-CWSYNCanary-Cmdlet.cs @@ -39,16 +39,14 @@ namespace Amazon.PowerShell.Cmdlets.CWSYN /// you delete a canary that you do not intend to use again, you should also delete the /// following: ///
    • - /// The CloudWatch alarms created for this canary. These alarms have a name of Synthetics-SharpDrop-Alarm-MyCanaryName. - ///
    • + /// The CloudWatch alarms created for this canary. These alarms have a name of Synthetics-Alarm-first-198-characters-of-canary-name-canaryId-alarm + /// number
    • /// Amazon S3 objects and buckets, such as the canary's artifact location. ///
    • /// IAM roles created for the canary. If they were created in the console, these roles - /// have the name role/service-role/CloudWatchSyntheticsRole-MyCanaryName. - ///
    • + /// have the name role/service-role/CloudWatchSyntheticsRole-First-21-Characters-of-CanaryName
    • /// CloudWatch Logs log groups created for the canary. These logs groups have the name - /// /aws/lambda/cwsyn-MyCanaryName. - ///
    + /// /aws/lambda/cwsyn-First-21-Characters-of-CanaryName /// Before you delete a canary, you might want to use GetCanary to display the /// information about this canary. Make note of the information returned by this operation /// so that you can delete these resources after you delete the canary. diff --git a/modules/AWSPowerShell/Cmdlets/TaxSettings/AmazonTaxSettingsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/TaxSettings/AmazonTaxSettingsClientCmdlet.cs index 8d965c4720..9d9b037e33 100644 --- a/modules/AWSPowerShell/Cmdlets/TaxSettings/AmazonTaxSettingsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/TaxSettings/AmazonTaxSettingsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTaxSettings CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTaxSettingsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Textract/AmazonTextractClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Textract/AmazonTextractClientCmdlet.cs index 22d5143c1f..aa5be535a0 100644 --- a/modules/AWSPowerShell/Cmdlets/Textract/AmazonTextractClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Textract/AmazonTextractClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTextract CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTextractConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AWS.Tools.TimestreamInfluxDB.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AWS.Tools.TimestreamInfluxDB.Completers.psm1 index 8b3af4ab91..a23781867a 100644 --- a/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AWS.Tools.TimestreamInfluxDB.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AWS.Tools.TimestreamInfluxDB.Completers.psm1 @@ -81,7 +81,10 @@ $TIDB_Completers = { switch ($("$commandName/$parameterName")) { # Amazon.TimestreamInfluxDB.DbInstanceType - "New-TIDBDbInstance/DbInstanceType" + { + ($_ -eq "New-TIDBDbInstance/DbInstanceType") -Or + ($_ -eq "Update-TIDBDbInstance/DbInstanceType") + } { $v = "db.influx.12xlarge","db.influx.16xlarge","db.influx.2xlarge","db.influx.4xlarge","db.influx.8xlarge","db.influx.large","db.influx.medium","db.influx.xlarge" break @@ -95,7 +98,10 @@ $TIDB_Completers = { } # Amazon.TimestreamInfluxDB.DeploymentType - "New-TIDBDbInstance/DeploymentType" + { + ($_ -eq "New-TIDBDbInstance/DeploymentType") -Or + ($_ -eq "Update-TIDBDbInstance/DeploymentType") + } { $v = "SINGLE_AZ","WITH_MULTIAZ_STANDBY" break @@ -124,9 +130,9 @@ $TIDB_Completers = { } $TIDB_map = @{ - "DbInstanceType"=@("New-TIDBDbInstance") + "DbInstanceType"=@("New-TIDBDbInstance","Update-TIDBDbInstance") "DbStorageType"=@("New-TIDBDbInstance") - "DeploymentType"=@("New-TIDBDbInstance") + "DeploymentType"=@("New-TIDBDbInstance","Update-TIDBDbInstance") "InfluxDBv2_LogLevel"=@("New-TIDBDbParameterGroup") "InfluxDBv2_TracingType"=@("New-TIDBDbParameterGroup") } diff --git a/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AmazonTimestreamInfluxDBClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AmazonTimestreamInfluxDBClientCmdlet.cs index cb8a0abdc2..aaa67c0dfd 100644 --- a/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AmazonTimestreamInfluxDBClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/AmazonTimestreamInfluxDBClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTimestreamInfluxDB CreateClient(AWSCredentials credentials, Reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTimestreamInfluxDBConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/Basic/Update-TIDBDbInstance-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/Basic/Update-TIDBDbInstance-Cmdlet.cs index 77d968a2df..9f762d2e51 100644 --- a/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/Basic/Update-TIDBDbInstance-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/TimestreamInfluxDB/Basic/Update-TIDBDbInstance-Cmdlet.cs @@ -52,6 +52,17 @@ public partial class UpdateTIDBDbInstanceCmdlet : AmazonTimestreamInfluxDBClient public System.String S3Configuration_BucketName { get; set; } #endregion + #region Parameter DbInstanceType + /// + /// + /// The Timestream for InfluxDB DB instance type to run InfluxDB on. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.TimestreamInfluxDB.DbInstanceType")] + public Amazon.TimestreamInfluxDB.DbInstanceType DbInstanceType { get; set; } + #endregion + #region Parameter DbParameterGroupIdentifier /// /// @@ -64,6 +75,18 @@ public partial class UpdateTIDBDbInstanceCmdlet : AmazonTimestreamInfluxDBClient public System.String DbParameterGroupIdentifier { get; set; } #endregion + #region Parameter DeploymentType + /// + /// + /// Specifies whether the DB instance will be deployed as a standalone instance or with + /// a Multi-AZ standby for high availability. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.TimestreamInfluxDB.DeploymentType")] + public Amazon.TimestreamInfluxDB.DeploymentType DeploymentType { get; set; } + #endregion + #region Parameter S3Configuration_Enabled /// /// @@ -154,7 +177,9 @@ protected override void ProcessRecord() context.Select = (response, cmdlet) => this.Identifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.DbInstanceType = this.DbInstanceType; context.DbParameterGroupIdentifier = this.DbParameterGroupIdentifier; + context.DeploymentType = this.DeploymentType; context.Identifier = this.Identifier; #if MODULAR if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) @@ -180,10 +205,18 @@ public object Execute(ExecutorContext context) // create request var request = new Amazon.TimestreamInfluxDB.Model.UpdateDbInstanceRequest(); + if (cmdletContext.DbInstanceType != null) + { + request.DbInstanceType = cmdletContext.DbInstanceType; + } if (cmdletContext.DbParameterGroupIdentifier != null) { request.DbParameterGroupIdentifier = cmdletContext.DbParameterGroupIdentifier; } + if (cmdletContext.DeploymentType != null) + { + request.DeploymentType = cmdletContext.DeploymentType; + } if (cmdletContext.Identifier != null) { request.Identifier = cmdletContext.Identifier; @@ -293,7 +326,9 @@ private Amazon.TimestreamInfluxDB.Model.UpdateDbInstanceResponse CallAWSServiceO internal partial class CmdletContext : ExecutorContext { + public Amazon.TimestreamInfluxDB.DbInstanceType DbInstanceType { get; set; } public System.String DbParameterGroupIdentifier { get; set; } + public Amazon.TimestreamInfluxDB.DeploymentType DeploymentType { get; set; } public System.String Identifier { get; set; } public System.String S3Configuration_BucketName { get; set; } public System.Boolean? S3Configuration_Enabled { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/TimestreamQuery/AmazonTimestreamQueryClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/TimestreamQuery/AmazonTimestreamQueryClientCmdlet.cs index 1040ea935b..26927eca72 100644 --- a/modules/AWSPowerShell/Cmdlets/TimestreamQuery/AmazonTimestreamQueryClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/TimestreamQuery/AmazonTimestreamQueryClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTimestreamQuery CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTimestreamQueryConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/TimestreamWrite/AmazonTimestreamWriteClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/TimestreamWrite/AmazonTimestreamWriteClientCmdlet.cs index c788332a5a..d69641c801 100644 --- a/modules/AWSPowerShell/Cmdlets/TimestreamWrite/AmazonTimestreamWriteClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/TimestreamWrite/AmazonTimestreamWriteClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTimestreamWrite CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTimestreamWriteConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Tnb/AmazonTnbClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Tnb/AmazonTnbClientCmdlet.cs index b00b6a44a2..439075c737 100644 --- a/modules/AWSPowerShell/Cmdlets/Tnb/AmazonTnbClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Tnb/AmazonTnbClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTnb CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTnbConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/TranscribeService/AmazonTranscribeServiceClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/TranscribeService/AmazonTranscribeServiceClientCmdlet.cs index 4b8501471d..ebe41a0895 100644 --- a/modules/AWSPowerShell/Cmdlets/TranscribeService/AmazonTranscribeServiceClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/TranscribeService/AmazonTranscribeServiceClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTranscribeService CreateClient(AWSCredentials credentials, Regi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTranscribeServiceConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Transfer/AmazonTransferClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Transfer/AmazonTransferClientCmdlet.cs index 22318a30d0..793d5a295d 100644 --- a/modules/AWSPowerShell/Cmdlets/Transfer/AmazonTransferClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Transfer/AmazonTransferClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTransfer CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTransferConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/Translate/AmazonTranslateClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/Translate/AmazonTranslateClientCmdlet.cs index f39fc08700..6e75cd1b51 100644 --- a/modules/AWSPowerShell/Cmdlets/Translate/AmazonTranslateClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Translate/AmazonTranslateClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTranslate CreateClient(AWSCredentials credentials, RegionEndpoi return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTranslateConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/TrustedAdvisor/AmazonTrustedAdvisorClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/TrustedAdvisor/AmazonTrustedAdvisorClientCmdlet.cs index 1b2d5bc3bc..a151da9834 100644 --- a/modules/AWSPowerShell/Cmdlets/TrustedAdvisor/AmazonTrustedAdvisorClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/TrustedAdvisor/AmazonTrustedAdvisorClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonTrustedAdvisor CreateClient(AWSCredentials credentials, RegionE return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonTrustedAdvisorConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/VPCLattice/AmazonVPCLatticeClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/VPCLattice/AmazonVPCLatticeClientCmdlet.cs index c37e829055..b692700141 100644 --- a/modules/AWSPowerShell/Cmdlets/VPCLattice/AmazonVPCLatticeClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/VPCLattice/AmazonVPCLatticeClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonVPCLattice CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonVPCLatticeConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/VerifiedPermissions/AmazonVerifiedPermissionsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/VerifiedPermissions/AmazonVerifiedPermissionsClientCmdlet.cs index 78be647579..c9986221c1 100644 --- a/modules/AWSPowerShell/Cmdlets/VerifiedPermissions/AmazonVerifiedPermissionsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/VerifiedPermissions/AmazonVerifiedPermissionsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonVerifiedPermissions CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonVerifiedPermissionsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/VoiceID/AmazonVoiceIDClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/VoiceID/AmazonVoiceIDClientCmdlet.cs index a2ce64ee8a..16825124f4 100644 --- a/modules/AWSPowerShell/Cmdlets/VoiceID/AmazonVoiceIDClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/VoiceID/AmazonVoiceIDClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonVoiceID CreateClient(AWSCredentials credentials, RegionEndpoint return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonVoiceIDConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WAF/AmazonWAFClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WAF/AmazonWAFClientCmdlet.cs index f7f4821b17..c02c3f11fa 100644 --- a/modules/AWSPowerShell/Cmdlets/WAF/AmazonWAFClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WAF/AmazonWAFClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWAF CreateClient(AWSCredentials credentials, RegionEndpoint reg return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWAFConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WAFRegional/AmazonWAFRegionalClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WAFRegional/AmazonWAFRegionalClientCmdlet.cs index 3131557960..597dcdf3a8 100644 --- a/modules/AWSPowerShell/Cmdlets/WAFRegional/AmazonWAFRegionalClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WAFRegional/AmazonWAFRegionalClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWAFRegional CreateClient(AWSCredentials credentials, RegionEndp return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWAFRegionalConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WAFV2/AmazonWAFV2ClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WAFV2/AmazonWAFV2ClientCmdlet.cs index b990ce41e4..51c714f237 100644 --- a/modules/AWSPowerShell/Cmdlets/WAFV2/AmazonWAFV2ClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WAFV2/AmazonWAFV2ClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWAFV2 CreateClient(AWSCredentials credentials, RegionEndpoint r return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWAFV2Config.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WAFV2/Basic/Write-WAF2PermissionPolicy-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WAFV2/Basic/Write-WAF2PermissionPolicy-Cmdlet.cs index c1a8dbefe8..2f2689c3c1 100644 --- a/modules/AWSPowerShell/Cmdlets/WAFV2/Basic/Write-WAF2PermissionPolicy-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WAFV2/Basic/Write-WAF2PermissionPolicy-Cmdlet.cs @@ -28,12 +28,12 @@ namespace Amazon.PowerShell.Cmdlets.WAF2 { /// - /// Attaches an IAM policy to the specified resource. Use this to share a rule group across - /// accounts. + /// Use this to share a rule group with other accounts. /// /// /// - /// You must be the owner of the rule group to perform this operation. + /// This action attaches an IAM policy to the specified resource. You must be the owner + /// of the rule group to perform this operation. /// /// This action is subject to the following restrictions: ///
    • @@ -43,7 +43,12 @@ namespace Amazon.PowerShell.Cmdlets.WAF2 /// must exist in the same Region. ///
    • /// The user making the request must be the owner of the rule group. - ///
    + /// + /// If a rule group has been shared with your account, you can access it through the call + /// GetRuleGroup, and you can reference it in CreateWebACL and UpdateWebACL. + /// Rule groups that are shared with you don't appear in your WAF console rule groups + /// listing. + /// ///
    [Cmdlet("Write", "WAF2PermissionPolicy", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] diff --git a/modules/AWSPowerShell/Cmdlets/WellArchitected/AmazonWellArchitectedClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WellArchitected/AmazonWellArchitectedClientCmdlet.cs index fee8e6296c..5a324f6f1e 100644 --- a/modules/AWSPowerShell/Cmdlets/WellArchitected/AmazonWellArchitectedClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WellArchitected/AmazonWellArchitectedClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWellArchitected CreateClient(AWSCredentials credentials, Region return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWellArchitectedConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkDocs/AmazonWorkDocsClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkDocs/AmazonWorkDocsClientCmdlet.cs index dc2fac2d78..18b0ef2155 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkDocs/AmazonWorkDocsClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkDocs/AmazonWorkDocsClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWorkDocs CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWorkDocsConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteAuthorizationProviderList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteAuthorizationProviderList-Cmdlet.cs deleted file mode 100644 index d24029fd24..0000000000 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLWebsiteAuthorizationProviderList-Cmdlet.cs +++ /dev/null @@ -1,376 +0,0 @@ -/******************************************************************************* - * Copyright 2012-2019 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. - * ***************************************************************************** - * - * AWS Tools for Windows (TM) PowerShell (TM) - * - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Amazon.PowerShell.Common; -using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; - -namespace Amazon.PowerShell.Cmdlets.WL -{ - /// - /// Retrieves a list of website authorization providers associated with a specified fleet.

    This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration.

    This operation is deprecated. - ///
    - [Cmdlet("Get", "WLWebsiteAuthorizationProviderList")] - [OutputType("Amazon.WorkLink.Model.WebsiteAuthorizationProviderSummary")] - [AWSCmdlet("Calls the Amazon WorkLink ListWebsiteAuthorizationProviders API operation.", Operation = new[] {"ListWebsiteAuthorizationProviders"}, SelectReturnType = typeof(Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.WebsiteAuthorizationProviderSummary or Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersResponse", - "This cmdlet returns a collection of Amazon.WorkLink.Model.WebsiteAuthorizationProviderSummary objects.", - "The service call response (type Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." - )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLWebsiteAuthorizationProviderListCmdlet : AmazonWorkLinkClientCmdlet, IExecutor - { - - protected override bool IsGeneratedCmdlet { get; set; } = true; - - #region Parameter FleetArn - /// - /// - /// The ARN of the fleet. - /// - /// - #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] - #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } - #endregion - - #region Parameter MaxResult - /// - /// - /// The maximum number of results to be included in the next page. - /// - /// - ///
    Note: In AWSPowerShell and AWSPowerShell.NetCore this parameter is used to limit the total number of items returned by the cmdlet. - ///
    In AWS.Tools this parameter is simply passed to the service to specify how many items should be returned by each service call. - ///
    Pipe the output of this cmdlet into Select-Object -First to terminate retrieving data pages early and control the number of items returned. - ///
    - ///
    - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - [Alias("MaxItems","MaxResults")] - public int? MaxResult { get; set; } - #endregion - - #region Parameter NextToken - /// - /// - /// The pagination token to use to retrieve the next page of results for this operation. - /// If this value is null, it retrieves the first page. - /// - /// - ///
    Note: This parameter is only used if you are manually controlling output pagination of the service API call. - ///
    In order to manually control output pagination, use '-NextToken $null' for the first call and '-NextToken $AWSHistory.LastServiceResponse.NextToken' for subsequent calls. - ///
    - ///
    - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String NextToken { get; set; } - #endregion - - #region Parameter Select - /// - /// Use the -Select parameter to control the cmdlet output. The default value is 'WebsiteAuthorizationProviders'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersResponse will result in that property being returned. - /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "WebsiteAuthorizationProviders"; - #endregion - - #region Parameter PassThru - /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. - /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public SwitchParameter PassThru { get; set; } - #endregion - - #region Parameter NoAutoIteration - /// - /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple - /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of NextToken - /// as the start point. - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public SwitchParameter NoAutoIteration { get; set; } - #endregion - - protected override void ProcessRecord() - { - this._AWSSignerType = "v4"; - base.ProcessRecord(); - - var context = new CmdletContext(); - - // allow for manipulation of parameters prior to loading into context - PreExecutionContextLoad(context); - - #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute - if (ParameterWasBound(nameof(this.Select))) - { - context.Select = CreateSelectDelegate(Select) ?? - throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); - if (this.PassThru.IsPresent) - { - throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); - } - } - else if (this.PassThru.IsPresent) - { - context.Select = (response, cmdlet) => this.FleetArn; - } - #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; - #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) - { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif - context.MaxResult = this.MaxResult; - #if !MODULAR - if (ParameterWasBound(nameof(this.MaxResult)) && this.MaxResult.HasValue) - { - WriteWarning("AWSPowerShell and AWSPowerShell.NetCore use the MaxResult parameter to limit the total number of items returned by the cmdlet." + - " This behavior is obsolete and will be removed in a future version of these modules. Pipe the output of this cmdlet into Select-Object -First to terminate" + - " retrieving data pages early and control the number of items returned. AWS.Tools already implements the new behavior of simply passing MaxResult" + - " to the service to specify how many items should be returned by each service call."); - } - #endif - context.NextToken = this.NextToken; - - // allow further manipulation of loaded context prior to processing - PostExecutionContextLoad(context); - - var output = Execute(context) as CmdletOutput; - ProcessOutput(output); - } - - #region IExecutor Members - - #if MODULAR - public object Execute(ExecutorContext context) - { - var cmdletContext = context as CmdletContext; - #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute - var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; - #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - - // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersRequest(); - - if (cmdletContext.FleetArn != null) - { - request.FleetArn = cmdletContext.FleetArn; - } - if (cmdletContext.MaxResult != null) - { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToServiceTypeInt32(cmdletContext.MaxResult.Value); - } - - // Initialize loop variant and commence piping - var _nextToken = cmdletContext.NextToken; - var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); - - var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); - do - { - request.NextToken = _nextToken; - - CmdletOutput output; - - try - { - - var response = CallAWSServiceOperation(client, request); - - object pipelineOutput = null; - if (!useParameterSelect) - { - pipelineOutput = cmdletContext.Select(response, this); - } - output = new CmdletOutput - { - PipelineOutput = pipelineOutput, - ServiceResponse = response - }; - - _nextToken = response.NextToken; - } - catch (Exception e) - { - output = new CmdletOutput { ErrorResponse = e }; - } - - ProcessOutput(output); - - } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); - - if (useParameterSelect) - { - WriteObject(cmdletContext.Select(null, this)); - } - - - return null; - } - #else - public object Execute(ExecutorContext context) - { - var cmdletContext = context as CmdletContext; - var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; - - // create request and set iteration invariants - var request = new Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersRequest(); - if (cmdletContext.FleetArn != null) - { - request.FleetArn = cmdletContext.FleetArn; - } - - // Initialize loop variants and commence piping - System.String _nextToken = null; - int? _emitLimit = null; - int _retrievedSoFar = 0; - if (AutoIterationHelpers.HasValue(cmdletContext.NextToken)) - { - _nextToken = cmdletContext.NextToken; - } - if (cmdletContext.MaxResult.HasValue) - { - _emitLimit = cmdletContext.MaxResult; - } - var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextToken)); - - var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); - do - { - request.NextToken = _nextToken; - if (_emitLimit.HasValue) - { - request.MaxResults = AutoIterationHelpers.ConvertEmitLimitToInt32(_emitLimit.Value); - } - - CmdletOutput output; - - try - { - - var response = CallAWSServiceOperation(client, request); - object pipelineOutput = null; - if (!useParameterSelect) - { - pipelineOutput = cmdletContext.Select(response, this); - } - output = new CmdletOutput - { - PipelineOutput = pipelineOutput, - ServiceResponse = response - }; - int _receivedThisCall = response.WebsiteAuthorizationProviders.Count; - - _nextToken = response.NextToken; - _retrievedSoFar += _receivedThisCall; - if (_emitLimit.HasValue) - { - _emitLimit -= _receivedThisCall; - } - } - catch (Exception e) - { - if (_retrievedSoFar == 0 || !_emitLimit.HasValue) - { - output = new CmdletOutput { ErrorResponse = e }; - } - else - { - break; - } - } - - ProcessOutput(output); - } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken) && (!_emitLimit.HasValue || _emitLimit.Value >= 1)); - - - if (useParameterSelect) - { - WriteObject(cmdletContext.Select(null, this)); - } - - - return null; - } - #endif - - public ExecutorContext CreateContext() - { - return new CmdletContext(); - } - - #endregion - - #region AWS Service Operation Call - - private Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.ListWebsiteAuthorizationProvidersRequest request) - { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "ListWebsiteAuthorizationProviders"); - try - { - #if DESKTOP - return client.ListWebsiteAuthorizationProviders(request); - #elif CORECLR - return client.ListWebsiteAuthorizationProvidersAsync(request).GetAwaiter().GetResult(); - #else - #error "Unknown build edition" - #endif - } - catch (AmazonServiceException exc) - { - var webException = exc.InnerException as System.Net.WebException; - if (webException != null) - { - throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); - } - throw; - } - } - - #endregion - - internal partial class CmdletContext : ExecutorContext - { - public System.String FleetArn { get; set; } - public int? MaxResult { get; set; } - public System.String NextToken { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response.WebsiteAuthorizationProviders; - } - - } -} diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLFleetMetadata-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLFleetMetadata-Cmdlet.cs deleted file mode 100644 index 71bab8b271..0000000000 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Update-WLFleetMetadata-Cmdlet.cs +++ /dev/null @@ -1,251 +0,0 @@ -/******************************************************************************* - * Copyright 2012-2019 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. - * ***************************************************************************** - * - * AWS Tools for Windows (TM) PowerShell (TM) - * - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Amazon.PowerShell.Common; -using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; - -namespace Amazon.PowerShell.Cmdlets.WL -{ - /// - /// Updates fleet metadata, such as DisplayName.

    This operation is deprecated. - ///
    - [Cmdlet("Update", "WLFleetMetadata", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] - [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink UpdateFleetMetadata API operation.", Operation = new[] {"UpdateFleetMetadata"}, SelectReturnType = typeof(Amazon.WorkLink.Model.UpdateFleetMetadataResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.UpdateFleetMetadataResponse", - "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.UpdateFleetMetadataResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." - )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class UpdateWLFleetMetadataCmdlet : AmazonWorkLinkClientCmdlet, IExecutor - { - - protected override bool IsGeneratedCmdlet { get; set; } = true; - - #region Parameter DisplayName - /// - /// - /// The fleet name to display. The existing DisplayName is unset if null is passed. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String DisplayName { get; set; } - #endregion - - #region Parameter FleetArn - /// - /// - /// The ARN of the fleet. - /// - /// - #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] - #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] - [System.Management.Automation.AllowEmptyString] - [System.Management.Automation.AllowNull] - #endif - [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } - #endregion - - #region Parameter OptimizeForEndUserLocation - /// - /// - /// The option to optimize for better performance by routing traffic through the closest - /// AWS Region to users, which may be outside of your home Region. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.Boolean? OptimizeForEndUserLocation { get; set; } - #endregion - - #region Parameter Select - /// - /// 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.WorkLink.Model.UpdateFleetMetadataResponse). - /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "*"; - #endregion - - #region Parameter PassThru - /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. - /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public SwitchParameter PassThru { get; set; } - #endregion - - #region Parameter Force - /// - /// This parameter overrides confirmation prompts to force - /// the cmdlet to continue its operation. This parameter should always - /// be used with caution. - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public SwitchParameter Force { get; set; } - #endregion - - protected override void ProcessRecord() - { - this._AWSSignerType = "v4"; - base.ProcessRecord(); - - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Update-WLFleetMetadata (UpdateFleetMetadata)")) - { - return; - } - - var context = new CmdletContext(); - - // allow for manipulation of parameters prior to loading into context - PreExecutionContextLoad(context); - - #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute - if (ParameterWasBound(nameof(this.Select))) - { - context.Select = CreateSelectDelegate(Select) ?? - throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); - if (this.PassThru.IsPresent) - { - throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); - } - } - else if (this.PassThru.IsPresent) - { - context.Select = (response, cmdlet) => this.FleetArn; - } - #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DisplayName = this.DisplayName; - context.FleetArn = this.FleetArn; - #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) - { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); - } - #endif - context.OptimizeForEndUserLocation = this.OptimizeForEndUserLocation; - - // allow further manipulation of loaded context prior to processing - PostExecutionContextLoad(context); - - var output = Execute(context) as CmdletOutput; - ProcessOutput(output); - } - - #region IExecutor Members - - public object Execute(ExecutorContext context) - { - var cmdletContext = context as CmdletContext; - // create request - var request = new Amazon.WorkLink.Model.UpdateFleetMetadataRequest(); - - if (cmdletContext.DisplayName != null) - { - request.DisplayName = cmdletContext.DisplayName; - } - if (cmdletContext.FleetArn != null) - { - request.FleetArn = cmdletContext.FleetArn; - } - if (cmdletContext.OptimizeForEndUserLocation != null) - { - request.OptimizeForEndUserLocation = cmdletContext.OptimizeForEndUserLocation.Value; - } - - CmdletOutput output; - - // issue call - var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); - try - { - var response = CallAWSServiceOperation(client, request); - object pipelineOutput = null; - pipelineOutput = cmdletContext.Select(response, this); - output = new CmdletOutput - { - PipelineOutput = pipelineOutput, - ServiceResponse = response - }; - } - catch (Exception e) - { - output = new CmdletOutput { ErrorResponse = e }; - } - - return output; - } - - public ExecutorContext CreateContext() - { - return new CmdletContext(); - } - - #endregion - - #region AWS Service Operation Call - - private Amazon.WorkLink.Model.UpdateFleetMetadataResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.UpdateFleetMetadataRequest request) - { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "UpdateFleetMetadata"); - try - { - #if DESKTOP - return client.UpdateFleetMetadata(request); - #elif CORECLR - return client.UpdateFleetMetadataAsync(request).GetAwaiter().GetResult(); - #else - #error "Unknown build edition" - #endif - } - catch (AmazonServiceException exc) - { - var webException = exc.InnerException as System.Net.WebException; - if (webException != null) - { - throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); - } - throw; - } - } - - #endregion - - internal partial class CmdletContext : ExecutorContext - { - public System.String DisplayName { get; set; } - public System.String FleetArn { get; set; } - public System.Boolean? OptimizeForEndUserLocation { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => null; - } - - } -} diff --git a/modules/AWSPowerShell/Cmdlets/WorkMail/AmazonWorkMailClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkMail/AmazonWorkMailClientCmdlet.cs index 56b5d88ea3..7970f2f9d7 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkMail/AmazonWorkMailClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkMail/AmazonWorkMailClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWorkMail CreateClient(AWSCredentials credentials, RegionEndpoin return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWorkMailConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkMailMessageFlow/AmazonWorkMailMessageFlowClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkMailMessageFlow/AmazonWorkMailMessageFlowClientCmdlet.cs index 5d050ae1ba..05104f01da 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkMailMessageFlow/AmazonWorkMailMessageFlowClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkMailMessageFlow/AmazonWorkMailMessageFlowClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWorkMailMessageFlow CreateClient(AWSCredentials credentials, Re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWorkMailMessageFlowConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpaces/AmazonWorkSpacesClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpaces/AmazonWorkSpacesClientCmdlet.cs index b3005010a1..cb99cc3f5e 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpaces/AmazonWorkSpacesClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpaces/AmazonWorkSpacesClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWorkSpaces CreateClient(AWSCredentials credentials, RegionEndpo return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWorkSpacesConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Start-WKSWorkspace-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Start-WKSWorkspace-Cmdlet.cs index b2f6e37af5..a8c49966c6 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Start-WKSWorkspace-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Start-WKSWorkspace-Cmdlet.cs @@ -32,8 +32,8 @@ namespace Amazon.PowerShell.Cmdlets.WKS /// /// /// - /// You cannot start a WorkSpace unless it has a running mode of AutoStop and a - /// state of STOPPED. + /// You cannot start a WorkSpace unless it has a running mode of AutoStop or Manual + /// and a state of STOPPED. /// ///
    [Cmdlet("Start", "WKSWorkspace", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium, DefaultParameterSetName="IdFromRequestObject")] diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Stop-WKSWorkspace-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Stop-WKSWorkspace-Cmdlet.cs index 4474e38604..d84f6ffc33 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Stop-WKSWorkspace-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpaces/Basic/Stop-WKSWorkspace-Cmdlet.cs @@ -32,8 +32,8 @@ namespace Amazon.PowerShell.Cmdlets.WKS /// /// /// - /// You cannot stop a WorkSpace unless it has a running mode of AutoStop and a - /// state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR. + /// You cannot stop a WorkSpace unless it has a running mode of AutoStop or Manual + /// and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR. /// ///
    [Cmdlet("Stop", "WKSWorkspace", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium, DefaultParameterSetName="IdFromRequestObject")] diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpacesThinClient/AmazonWorkSpacesThinClientClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpacesThinClient/AmazonWorkSpacesThinClientClientCmdlet.cs index ad46dce72c..93e98193fd 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpacesThinClient/AmazonWorkSpacesThinClientClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesThinClient/AmazonWorkSpacesThinClientClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWorkSpacesThinClient CreateClient(AWSCredentials credentials, R return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWorkSpacesThinClientConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.Completers.psm1 index 69766cb126..affc2ef0f9 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.Completers.psm1 @@ -130,6 +130,20 @@ $WSW_Completers = { break } + # Amazon.WorkSpacesWeb.SessionSortBy + "Get-WSWSessionList/SortBy" + { + $v = "StartTimeAscending","StartTimeDescending" + break + } + + # Amazon.WorkSpacesWeb.SessionStatus + "Get-WSWSessionList/Status" + { + $v = "Active","Terminated" + break + } + } @@ -147,6 +161,8 @@ $WSW_map = @{ "InstanceType"=@("New-WSWPortal","Update-WSWPortal") "PasteAllowed"=@("New-WSWUserSetting","Update-WSWUserSetting") "PrintAllowed"=@("New-WSWUserSetting","Update-WSWUserSetting") + "SortBy"=@("Get-WSWSessionList") + "Status"=@("Get-WSWSessionList") "UploadAllowed"=@("New-WSWUserSetting","Update-WSWUserSetting") } @@ -228,12 +244,14 @@ $WSW_SelectMap = @{ "Unregister-WSWTrustStore", "Unregister-WSWUserAccessLoggingSetting", "Unregister-WSWUserSetting", + "Revoke-WSWSession", "Get-WSWBrowserSetting", "Get-WSWIdentityProvider", "Get-WSWIpAccessSetting", "Get-WSWNetworkSetting", "Get-WSWPortal", "Get-WSWPortalServiceProviderMetadata", + "Get-WSWSession", "Get-WSWTrustStore", "Get-WSWTrustStoreCertificate", "Get-WSWUserAccessLoggingSetting", @@ -243,6 +261,7 @@ $WSW_SelectMap = @{ "Get-WSWIpAccessSettingList", "Get-WSWNetworkSettingList", "Get-WSWPortalList", + "Get-WSWSessionList", "Get-WSWResourceTag", "Get-WSWTrustStoreCertificateList", "Get-WSWTrustStoreList", diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.psd1 b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.psd1 index 6b49089f8f..c378a32180 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.psd1 +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AWS.Tools.WorkSpacesWeb.psd1 @@ -99,6 +99,8 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-WSWPortalList', 'Get-WSWPortalServiceProviderMetadata', 'Get-WSWResourceTag', + 'Get-WSWSession', + 'Get-WSWSessionList', 'Get-WSWTrustStore', 'Get-WSWTrustStoreCertificate', 'Get-WSWTrustStoreCertificateList', @@ -130,6 +132,7 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Remove-WSWTrustStore', 'Remove-WSWUserAccessLoggingSetting', 'Remove-WSWUserSetting', + 'Revoke-WSWSession', 'Unregister-WSWBrowserSetting', 'Unregister-WSWIpAccessSetting', 'Unregister-WSWNetworkSetting', diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AmazonWorkSpacesWebClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AmazonWorkSpacesWebClientCmdlet.cs index 02f1035d78..1c1ec3eaa9 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AmazonWorkSpacesWebClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/AmazonWorkSpacesWebClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonWorkSpacesWeb CreateClient(AWSCredentials credentials, RegionEn return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonWorkSpacesWebConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDomain-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Get-WSWSession-Cmdlet.cs similarity index 68% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDomain-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Get-WSWSession-Cmdlet.cs index 3cbdc0cc02..aa13f0e9d5 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Get-WLDomain-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Get-WSWSession-Cmdlet.cs @@ -22,77 +22,79 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.WorkSpacesWeb; +using Amazon.WorkSpacesWeb.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.WSW { /// - /// Provides information about the domain.

    This operation is deprecated. + /// Gets information for a secure browser session. ///
    - [Cmdlet("Get", "WLDomain")] - [OutputType("Amazon.WorkLink.Model.DescribeDomainResponse")] - [AWSCmdlet("Calls the Amazon WorkLink DescribeDomain API operation.", Operation = new[] {"DescribeDomain"}, SelectReturnType = typeof(Amazon.WorkLink.Model.DescribeDomainResponse))] - [AWSCmdletOutput("Amazon.WorkLink.Model.DescribeDomainResponse", - "This cmdlet returns an Amazon.WorkLink.Model.DescribeDomainResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + [Cmdlet("Get", "WSWSession")] + [OutputType("Amazon.WorkSpacesWeb.Model.Session")] + [AWSCmdlet("Calls the Amazon WorkSpaces Web GetSession API operation.", Operation = new[] {"GetSession"}, SelectReturnType = typeof(Amazon.WorkSpacesWeb.Model.GetSessionResponse))] + [AWSCmdletOutput("Amazon.WorkSpacesWeb.Model.Session or Amazon.WorkSpacesWeb.Model.GetSessionResponse", + "This cmdlet returns an Amazon.WorkSpacesWeb.Model.Session object.", + "The service call response (type Amazon.WorkSpacesWeb.Model.GetSessionResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class GetWLDomainCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class GetWSWSessionCmdlet : AmazonWorkSpacesWebClientCmdlet, IExecutor { + protected override bool IsSensitiveResponse { get; set; } = true; + protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter DomainName + #region Parameter PortalId /// /// - /// The name of the domain. + /// The ID of the web portal for the session. /// /// #if !MODULAR - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] #else - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String DomainName { get; set; } + public System.String PortalId { get; set; } #endregion - #region Parameter FleetArn + #region Parameter SessionId /// /// - /// The ARN of the fleet. + /// The ID of the session. /// /// #if !MODULAR - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else - [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String SessionId { get; set; } #endregion #region Parameter Select /// - /// Use the -Select parameter to control the cmdlet output. The default value is '*'. - /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkLink.Model.DescribeDomainResponse). - /// Specifying the name of a property of type Amazon.WorkLink.Model.DescribeDomainResponse will result in that property being returned. + /// Use the -Select parameter to control the cmdlet output. The default value is 'Session'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkSpacesWeb.Model.GetSessionResponse). + /// Specifying the name of a property of type Amazon.WorkSpacesWeb.Model.GetSessionResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public string Select { get; set; } = "*"; + public string Select { get; set; } = "Session"; #endregion #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the PortalId parameter. + /// The -PassThru parameter is deprecated, use -Select '^PortalId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^PortalId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -110,7 +112,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -119,21 +121,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.PortalId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.DomainName = this.DomainName; + context.PortalId = this.PortalId; #if MODULAR - if (this.DomainName == null && ParameterWasBound(nameof(this.DomainName))) + if (this.PortalId == null && ParameterWasBound(nameof(this.PortalId))) { - WriteWarning("You are passing $null as a value for parameter DomainName which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter PortalId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.FleetArn = this.FleetArn; + context.SessionId = this.SessionId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.SessionId == null && ParameterWasBound(nameof(this.SessionId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter SessionId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -150,15 +152,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.DescribeDomainRequest(); + var request = new Amazon.WorkSpacesWeb.Model.GetSessionRequest(); - if (cmdletContext.DomainName != null) + if (cmdletContext.PortalId != null) { - request.DomainName = cmdletContext.DomainName; + request.PortalId = cmdletContext.PortalId; } - if (cmdletContext.FleetArn != null) + if (cmdletContext.SessionId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.SessionId = cmdletContext.SessionId; } CmdletOutput output; @@ -193,15 +195,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.DescribeDomainResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.DescribeDomainRequest request) + private Amazon.WorkSpacesWeb.Model.GetSessionResponse CallAWSServiceOperation(IAmazonWorkSpacesWeb client, Amazon.WorkSpacesWeb.Model.GetSessionRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "DescribeDomain"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkSpaces Web", "GetSession"); try { #if DESKTOP - return client.DescribeDomain(request); + return client.GetSession(request); #elif CORECLR - return client.DescribeDomainAsync(request).GetAwaiter().GetResult(); + return client.GetSessionAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -221,10 +223,10 @@ private Amazon.WorkLink.Model.DescribeDomainResponse CallAWSServiceOperation(IAm internal partial class CmdletContext : ExecutorContext { - public System.String DomainName { get; set; } - public System.String FleetArn { get; set; } - public System.Func Select { get; set; } = - (response, cmdlet) => response; + public System.String PortalId { get; set; } + public System.String SessionId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Session; } } diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Get-WSWSessionList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Get-WSWSessionList-Cmdlet.cs new file mode 100644 index 0000000000..5417351927 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Get-WSWSessionList-Cmdlet.cs @@ -0,0 +1,305 @@ +/******************************************************************************* + * Copyright 2012-2019 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. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.WorkSpacesWeb; +using Amazon.WorkSpacesWeb.Model; + +namespace Amazon.PowerShell.Cmdlets.WSW +{ + /// + /// Lists information for multiple secure browser sessions from a specific portal. + /// + [Cmdlet("Get", "WSWSessionList")] + [OutputType("Amazon.WorkSpacesWeb.Model.SessionSummary")] + [AWSCmdlet("Calls the Amazon WorkSpaces Web ListSessions API operation.", Operation = new[] {"ListSessions"}, SelectReturnType = typeof(Amazon.WorkSpacesWeb.Model.ListSessionsResponse))] + [AWSCmdletOutput("Amazon.WorkSpacesWeb.Model.SessionSummary or Amazon.WorkSpacesWeb.Model.ListSessionsResponse", + "This cmdlet returns a collection of Amazon.WorkSpacesWeb.Model.SessionSummary objects.", + "The service call response (type Amazon.WorkSpacesWeb.Model.ListSessionsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetWSWSessionListCmdlet : AmazonWorkSpacesWebClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter PortalId + /// + /// + /// The ID of the web portal for the sessions. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String PortalId { get; set; } + #endregion + + #region Parameter SessionId + /// + /// + /// The ID of the session. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SessionId { get; set; } + #endregion + + #region Parameter SortBy + /// + /// + /// The method in which the returned sessions should be sorted. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.WorkSpacesWeb.SessionSortBy")] + public Amazon.WorkSpacesWeb.SessionSortBy SortBy { get; set; } + #endregion + + #region Parameter Status + /// + /// + /// The status of the session. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.WorkSpacesWeb.SessionStatus")] + public Amazon.WorkSpacesWeb.SessionStatus Status { get; set; } + #endregion + + #region Parameter Username + /// + /// + /// The username of the session. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Username { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to be included in the next page. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The pagination token used to retrieve the next page of results for this operation. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NextToken { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Sessions'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkSpacesWeb.Model.ListSessionsResponse). + /// Specifying the name of a property of type Amazon.WorkSpacesWeb.Model.ListSessionsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Sessions"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the PortalId parameter. + /// The -PassThru parameter is deprecated, use -Select '^PortalId' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^PortalId' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.PortalId; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.PortalId = this.PortalId; + #if MODULAR + if (this.PortalId == null && ParameterWasBound(nameof(this.PortalId))) + { + WriteWarning("You are passing $null as a value for parameter PortalId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SessionId = this.SessionId; + context.SortBy = this.SortBy; + context.Status = this.Status; + context.Username = this.Username; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.WorkSpacesWeb.Model.ListSessionsRequest(); + + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + if (cmdletContext.PortalId != null) + { + request.PortalId = cmdletContext.PortalId; + } + if (cmdletContext.SessionId != null) + { + request.SessionId = cmdletContext.SessionId; + } + if (cmdletContext.SortBy != null) + { + request.SortBy = cmdletContext.SortBy; + } + if (cmdletContext.Status != null) + { + request.Status = cmdletContext.Status; + } + if (cmdletContext.Username != null) + { + request.Username = cmdletContext.Username; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.WorkSpacesWeb.Model.ListSessionsResponse CallAWSServiceOperation(IAmazonWorkSpacesWeb client, Amazon.WorkSpacesWeb.Model.ListSessionsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkSpaces Web", "ListSessions"); + try + { + #if DESKTOP + return client.ListSessions(request); + #elif CORECLR + return client.ListSessionsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String PortalId { get; set; } + public System.String SessionId { get; set; } + public Amazon.WorkSpacesWeb.SessionSortBy SortBy { get; set; } + public Amazon.WorkSpacesWeb.SessionStatus Status { get; set; } + public System.String Username { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Sessions; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/New-WSWPortal-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/New-WSWPortal-Cmdlet.cs index ee90d8fb95..44df5fad85 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/New-WSWPortal-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/New-WSWPortal-Cmdlet.cs @@ -60,10 +60,9 @@ public partial class NewWSWPortalCmdlet : AmazonWorkSpacesWebClientCmdlet, IExec /// Defaults to Standard.
    Standard web portals are authenticated directly through your identity provider. /// You need to call CreateIdentityProvider to integrate your identity provider /// with your web portal. User and group access to your web portal is controlled through - /// your identity provider.IAM Identity Center web portals are authenticated through IAM Identity Center - /// (successor to Single Sign-On). Identity sources (including external identity provider - /// integration), plus user and group access to your web portal, can be configured in - /// the IAM Identity Center. + /// your identity provider.IAM Identity Center web portals are authenticated through IAM Identity Center. + /// Identity sources (including external identity provider integration), plus user and + /// group access to your web portal, can be configured in the IAM Identity Center. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Disconnect-WLUser-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Revoke-WSWSession-Cmdlet.cs similarity index 71% rename from modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Disconnect-WLUser-Cmdlet.cs rename to modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Revoke-WSWSession-Cmdlet.cs index 7003b9183f..2759fe686c 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkLink/Basic/Disconnect-WLUser-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Revoke-WSWSession-Cmdlet.cs @@ -22,32 +22,30 @@ using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; -using Amazon.WorkLink; -using Amazon.WorkLink.Model; +using Amazon.WorkSpacesWeb; +using Amazon.WorkSpacesWeb.Model; -namespace Amazon.PowerShell.Cmdlets.WL +namespace Amazon.PowerShell.Cmdlets.WSW { /// - /// Signs the user out from all of their devices. The user can sign in again if they have - /// valid credentials.

    This operation is deprecated. + /// Expires an active secure browser session. ///
    - [Cmdlet("Disconnect", "WLUser", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [Cmdlet("Revoke", "WSWSession", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] - [AWSCmdlet("Calls the Amazon WorkLink SignOutUser API operation.", Operation = new[] {"SignOutUser"}, SelectReturnType = typeof(Amazon.WorkLink.Model.SignOutUserResponse))] - [AWSCmdletOutput("None or Amazon.WorkLink.Model.SignOutUserResponse", + [AWSCmdlet("Calls the Amazon WorkSpaces Web ExpireSession API operation.", Operation = new[] {"ExpireSession"}, SelectReturnType = typeof(Amazon.WorkSpacesWeb.Model.ExpireSessionResponse))] + [AWSCmdletOutput("None or Amazon.WorkSpacesWeb.Model.ExpireSessionResponse", "This cmdlet does not generate any output." + - "The service response (type Amazon.WorkLink.Model.SignOutUserResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + "The service response (type Amazon.WorkSpacesWeb.Model.ExpireSessionResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] - [System.ObsoleteAttribute("Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.")] - public partial class DisconnectWLUserCmdlet : AmazonWorkLinkClientCmdlet, IExecutor + public partial class RevokeWSWSessionCmdlet : AmazonWorkSpacesWebClientCmdlet, IExecutor { protected override bool IsGeneratedCmdlet { get; set; } = true; - #region Parameter FleetArn + #region Parameter PortalId /// /// - /// The ARN of the fleet. + /// The ID of the web portal for the session. /// /// #if !MODULAR @@ -58,13 +56,13 @@ public partial class DisconnectWLUserCmdlet : AmazonWorkLinkClientCmdlet, IExecu [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String FleetArn { get; set; } + public System.String PortalId { get; set; } #endregion - #region Parameter Username + #region Parameter SessionId /// /// - /// The name of the user. + /// The ID of the session to expire. /// /// #if !MODULAR @@ -75,13 +73,13 @@ public partial class DisconnectWLUserCmdlet : AmazonWorkLinkClientCmdlet, IExecu [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] - public System.String Username { get; set; } + public System.String SessionId { get; set; } #endregion #region Parameter Select /// /// 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.WorkLink.Model.SignOutUserResponse). + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.WorkSpacesWeb.Model.ExpireSessionResponse). /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -90,10 +88,10 @@ public partial class DisconnectWLUserCmdlet : AmazonWorkLinkClientCmdlet, IExecu #region Parameter PassThru /// - /// Changes the cmdlet behavior to return the value passed to the FleetArn parameter. - /// The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version. + /// Changes the cmdlet behavior to return the value passed to the PortalId parameter. + /// The -PassThru parameter is deprecated, use -Select '^PortalId' instead. This parameter will be removed in a future version. /// - [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^FleetArn' instead. This parameter will be removed in a future version.")] + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^PortalId' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion @@ -113,8 +111,8 @@ protected override void ProcessRecord() this._AWSSignerType = "v4"; base.ProcessRecord(); - var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.FleetArn), MyInvocation.BoundParameters); - if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Disconnect-WLUser (SignOutUser)")) + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.SessionId), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Revoke-WSWSession (ExpireSession)")) { return; } @@ -127,7 +125,7 @@ protected override void ProcessRecord() #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { - context.Select = CreateSelectDelegate(Select) ?? + context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { @@ -136,21 +134,21 @@ protected override void ProcessRecord() } else if (this.PassThru.IsPresent) { - context.Select = (response, cmdlet) => this.FleetArn; + context.Select = (response, cmdlet) => this.PortalId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute - context.FleetArn = this.FleetArn; + context.PortalId = this.PortalId; #if MODULAR - if (this.FleetArn == null && ParameterWasBound(nameof(this.FleetArn))) + if (this.PortalId == null && ParameterWasBound(nameof(this.PortalId))) { - WriteWarning("You are passing $null as a value for parameter FleetArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter PortalId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif - context.Username = this.Username; + context.SessionId = this.SessionId; #if MODULAR - if (this.Username == null && ParameterWasBound(nameof(this.Username))) + if (this.SessionId == null && ParameterWasBound(nameof(this.SessionId))) { - WriteWarning("You are passing $null as a value for parameter Username which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + WriteWarning("You are passing $null as a value for parameter SessionId which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif @@ -167,15 +165,15 @@ public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request - var request = new Amazon.WorkLink.Model.SignOutUserRequest(); + var request = new Amazon.WorkSpacesWeb.Model.ExpireSessionRequest(); - if (cmdletContext.FleetArn != null) + if (cmdletContext.PortalId != null) { - request.FleetArn = cmdletContext.FleetArn; + request.PortalId = cmdletContext.PortalId; } - if (cmdletContext.Username != null) + if (cmdletContext.SessionId != null) { - request.Username = cmdletContext.Username; + request.SessionId = cmdletContext.SessionId; } CmdletOutput output; @@ -210,15 +208,15 @@ public ExecutorContext CreateContext() #region AWS Service Operation Call - private Amazon.WorkLink.Model.SignOutUserResponse CallAWSServiceOperation(IAmazonWorkLink client, Amazon.WorkLink.Model.SignOutUserRequest request) + private Amazon.WorkSpacesWeb.Model.ExpireSessionResponse CallAWSServiceOperation(IAmazonWorkSpacesWeb client, Amazon.WorkSpacesWeb.Model.ExpireSessionRequest request) { - Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkLink", "SignOutUser"); + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon WorkSpaces Web", "ExpireSession"); try { #if DESKTOP - return client.SignOutUser(request); + return client.ExpireSession(request); #elif CORECLR - return client.SignOutUserAsync(request).GetAwaiter().GetResult(); + return client.ExpireSessionAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif @@ -238,9 +236,9 @@ private Amazon.WorkLink.Model.SignOutUserResponse CallAWSServiceOperation(IAmazo internal partial class CmdletContext : ExecutorContext { - public System.String FleetArn { get; set; } - public System.String Username { get; set; } - public System.Func Select { get; set; } = + public System.String PortalId { get; set; } + public System.String SessionId { get; set; } + public System.Func Select { get; set; } = (response, cmdlet) => null; } diff --git a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Update-WSWPortal-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Update-WSWPortal-Cmdlet.cs index d59b0b6eb0..1d4bf10807 100644 --- a/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Update-WSWPortal-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/WorkSpacesWeb/Basic/Update-WSWPortal-Cmdlet.cs @@ -53,10 +53,9 @@ public partial class UpdateWSWPortalCmdlet : AmazonWorkSpacesWebClientCmdlet, IE /// Defaults to Standard.Standard web portals are authenticated directly through your identity provider. /// You need to call CreateIdentityProvider to integrate your identity provider /// with your web portal. User and group access to your web portal is controlled through - /// your identity provider.IAM Identity Center web portals are authenticated through IAM Identity Center - /// (successor to Single Sign-On). Identity sources (including external identity provider - /// integration), plus user and group access to your web portal, can be configured in - /// the IAM Identity Center. + /// your identity provider.IAM Identity Center web portals are authenticated through IAM Identity Center. + /// Identity sources (including external identity provider integration), plus user and + /// group access to your web portal, can be configured in the IAM Identity Center. /// ///
    [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/XRay/AmazonXRayClientCmdlet.cs b/modules/AWSPowerShell/Cmdlets/XRay/AmazonXRayClientCmdlet.cs index 41842b2a66..47b432070a 100644 --- a/modules/AWSPowerShell/Cmdlets/XRay/AmazonXRayClientCmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/XRay/AmazonXRayClientCmdlet.cs @@ -57,6 +57,13 @@ protected IAmazonXRay CreateClient(AWSCredentials credentials, RegionEndpoint re return client; } + protected override void BeginProcessing() + { + base.AWSServiceId = AmazonXRayConfig.ServiceId.ToString(); + + base.BeginProcessing(); + } + protected override void ProcessRecord() { base.ProcessRecord(); diff --git a/modules/AWSPowerShell/CmdletsList.dat b/modules/AWSPowerShell/CmdletsList.dat index 0a444a70ff..882c0a1378 100644 Binary files a/modules/AWSPowerShell/CmdletsList.dat and b/modules/AWSPowerShell/CmdletsList.dat differ diff --git a/modules/AWSPowerShell/Common/BaseCmdlets.cs b/modules/AWSPowerShell/Common/BaseCmdlets.cs index 886c37b8fe..986f22baab 100644 --- a/modules/AWSPowerShell/Common/BaseCmdlets.cs +++ b/modules/AWSPowerShell/Common/BaseCmdlets.cs @@ -27,6 +27,9 @@ using Amazon.PowerShell.Common.Internal; using Amazon.Runtime.CredentialManagement; using Amazon.Util; +using Amazon.Runtime.Telemetry.Tracing; +using Amazon.Runtime.Telemetry; +using Amazon.Runtime.Internal.Util; namespace Amazon.PowerShell.Common { @@ -63,6 +66,9 @@ public abstract class BaseCmdlet : PSCmdlet private bool IsSanitizingRequestError { get; set; } private bool IsSanitizingResponseError { get; set; } + private TraceSpan TraceSpan { get; set; } + + protected string AWSServiceId { get; set; } = "NoServiceClient"; #region Error calls @@ -124,6 +130,9 @@ protected void ThrowExecutionError(string message, object errorSource) /// The exception that was caught, if any protected void ThrowExecutionError(string message, object errorSource, Exception innerException) { + TraceSpan?.RecordException(innerException); + TraceSpan?.Dispose(); + TraceSpan = null; this.ThrowTerminatingError(new ErrorRecord(new InvalidOperationException(message, innerException), innerException == null ? "InvalidOperationException" @@ -327,6 +336,10 @@ public IEnumerable SafeEnumerable(object value) protected override void BeginProcessing() { + string serviceId = AWSServiceId.Replace(" ", ""); + TraceSpan = AWSConfigs.TelemetryProvider.TracerProvider.GetTracer($"{TelemetryConstants.TelemetryScopePrefix}.PS.{serviceId}") + .CreateSpan(this.MyInvocation.InvocationName, null, Amazon.Runtime.Telemetry.Tracing.SpanKind.CLIENT); + base.BeginProcessing(); if (!AWSPowerShellUserAgentSet) @@ -369,7 +382,12 @@ protected override void EndProcessing() string errorMessage = $"Error occurred in sensitive data redaction, as a result {failedType} being omitted from $AWSHistory. In case you rely on $AWSHistory, run Set-AWSHistoryConfiguration -IncludeSensitiveData command to skip sensitive data redaction. Please report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."; this.WriteError(new ErrorRecord(new Exception(errorMessage), "", ErrorCategory.InvalidOperation, this)); } - } + + base.EndProcessing(); + + TraceSpan?.Dispose(); + TraceSpan = null; + } protected virtual void ProcessOutput(CmdletOutput cmdletOutput) { diff --git a/modules/ModularAWSPowerShell/CmdletsList.dat b/modules/ModularAWSPowerShell/CmdletsList.dat index ff590bf289..32f010a5c4 100644 Binary files a/modules/ModularAWSPowerShell/CmdletsList.dat and b/modules/ModularAWSPowerShell/CmdletsList.dat differ diff --git a/solutions/ModularAWSPowerShell.sln b/solutions/ModularAWSPowerShell.sln index 233c146659..4551dc4018 100644 --- a/solutions/ModularAWSPowerShell.sln +++ b/solutions/ModularAWSPowerShell.sln @@ -214,6 +214,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.DevOpsGuru", "..\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.DirectConnect", "..\modules\AWSPowerShell\Cmdlets\DirectConnect\AWS.Tools.DirectConnect.csproj", "{E40FF124-5A6A-4C7C-89FA-E6155781FEB5}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.DirectoryServiceData", "..\modules\AWSPowerShell\Cmdlets\DirectoryServiceData\AWS.Tools.DirectoryServiceData.csproj", "{95855647-29CD-48D6-B080-597544221B27}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.ApplicationDiscoveryService", "..\modules\AWSPowerShell\Cmdlets\ApplicationDiscoveryService\AWS.Tools.ApplicationDiscoveryService.csproj", "{DC4DA8D4-F268-46E3-8100-DB8CEBF8532A}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.DLM", "..\modules\AWSPowerShell\Cmdlets\DLM\AWS.Tools.DLM.csproj", "{A4948657-E00D-4307-A541-4BD757CD4154}" @@ -522,6 +524,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.PcaConnectorAd", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.PcaConnectorScep", "..\modules\AWSPowerShell\Cmdlets\PcaConnectorScep\AWS.Tools.PcaConnectorScep.csproj", "{E0444543-4F59-4957-855B-4F4C525AE10C}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.PCS", "..\modules\AWSPowerShell\Cmdlets\PCS\AWS.Tools.PCS.csproj", "{92C95590-099F-452E-ABFE-D88D89A395C6}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.Personalize", "..\modules\AWSPowerShell\Cmdlets\Personalize\AWS.Tools.Personalize.csproj", "{36267617-5134-4659-8B0A-920643424038}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.PersonalizeEvents", "..\modules\AWSPowerShell\Cmdlets\PersonalizeEvents\AWS.Tools.PersonalizeEvents.csproj", "{74E173C8-D188-4C30-9CDE-19AE205B910C}" @@ -736,8 +740,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.ConnectWisdomServ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.WorkDocs", "..\modules\AWSPowerShell\Cmdlets\WorkDocs\AWS.Tools.WorkDocs.csproj", "{27A287E5-30DA-4F66-AF18-8E58DDC37AB9}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.WorkLink", "..\modules\AWSPowerShell\Cmdlets\WorkLink\AWS.Tools.WorkLink.csproj", "{2DF4F089-9E90-464D-8DD9-C7E17BA85504}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.WorkMail", "..\modules\AWSPowerShell\Cmdlets\WorkMail\AWS.Tools.WorkMail.csproj", "{BD2A9BAC-1831-41CC-AA54-2C89E30BBFAC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AWS.Tools.WorkMailMessageFlow", "..\modules\AWSPowerShell\Cmdlets\WorkMailMessageFlow\AWS.Tools.WorkMailMessageFlow.csproj", "{546A1710-A5A7-4AF9-B8C1-1143F6A789D6}" @@ -1182,6 +1184,10 @@ Global {E40FF124-5A6A-4C7C-89FA-E6155781FEB5}.Debug|Any CPU.Build.0 = Debug|Any CPU {E40FF124-5A6A-4C7C-89FA-E6155781FEB5}.Release|Any CPU.ActiveCfg = Release|Any CPU {E40FF124-5A6A-4C7C-89FA-E6155781FEB5}.Release|Any CPU.Build.0 = Release|Any CPU + {95855647-29CD-48D6-B080-597544221B27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {95855647-29CD-48D6-B080-597544221B27}.Debug|Any CPU.Build.0 = Debug|Any CPU + {95855647-29CD-48D6-B080-597544221B27}.Release|Any CPU.ActiveCfg = Release|Any CPU + {95855647-29CD-48D6-B080-597544221B27}.Release|Any CPU.Build.0 = Release|Any CPU {DC4DA8D4-F268-46E3-8100-DB8CEBF8532A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DC4DA8D4-F268-46E3-8100-DB8CEBF8532A}.Debug|Any CPU.Build.0 = Debug|Any CPU {DC4DA8D4-F268-46E3-8100-DB8CEBF8532A}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -1798,6 +1804,10 @@ Global {E0444543-4F59-4957-855B-4F4C525AE10C}.Debug|Any CPU.Build.0 = Debug|Any CPU {E0444543-4F59-4957-855B-4F4C525AE10C}.Release|Any CPU.ActiveCfg = Release|Any CPU {E0444543-4F59-4957-855B-4F4C525AE10C}.Release|Any CPU.Build.0 = Release|Any CPU + {92C95590-099F-452E-ABFE-D88D89A395C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {92C95590-099F-452E-ABFE-D88D89A395C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {92C95590-099F-452E-ABFE-D88D89A395C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {92C95590-099F-452E-ABFE-D88D89A395C6}.Release|Any CPU.Build.0 = Release|Any CPU {36267617-5134-4659-8B0A-920643424038}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {36267617-5134-4659-8B0A-920643424038}.Debug|Any CPU.Build.0 = Debug|Any CPU {36267617-5134-4659-8B0A-920643424038}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -2226,10 +2236,6 @@ Global {27A287E5-30DA-4F66-AF18-8E58DDC37AB9}.Debug|Any CPU.Build.0 = Debug|Any CPU {27A287E5-30DA-4F66-AF18-8E58DDC37AB9}.Release|Any CPU.ActiveCfg = Release|Any CPU {27A287E5-30DA-4F66-AF18-8E58DDC37AB9}.Release|Any CPU.Build.0 = Release|Any CPU - {2DF4F089-9E90-464D-8DD9-C7E17BA85504}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2DF4F089-9E90-464D-8DD9-C7E17BA85504}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2DF4F089-9E90-464D-8DD9-C7E17BA85504}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2DF4F089-9E90-464D-8DD9-C7E17BA85504}.Release|Any CPU.Build.0 = Release|Any CPU {BD2A9BAC-1831-41CC-AA54-2C89E30BBFAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BD2A9BAC-1831-41CC-AA54-2C89E30BBFAC}.Debug|Any CPU.Build.0 = Debug|Any CPU {BD2A9BAC-1831-41CC-AA54-2C89E30BBFAC}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -2364,6 +2370,7 @@ Global {FA57E4FF-3E28-4E7F-ACDE-58F3B4EB1B30} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {BD4637A4-72CE-4A39-BC8B-57EFC6BB9AFA} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {E40FF124-5A6A-4C7C-89FA-E6155781FEB5} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} + {95855647-29CD-48D6-B080-597544221B27} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {DC4DA8D4-F268-46E3-8100-DB8CEBF8532A} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {A4948657-E00D-4307-A541-4BD757CD4154} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {0D978E1B-DCD2-4C89-8BF3-AAE5B490F22B} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} @@ -2518,6 +2525,7 @@ Global {83F056CE-414A-4E58-BEDE-B4F08AE528B7} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {4AF6C4A9-A1BE-46E4-8FD1-276B735EEB26} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {E0444543-4F59-4957-855B-4F4C525AE10C} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} + {92C95590-099F-452E-ABFE-D88D89A395C6} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {36267617-5134-4659-8B0A-920643424038} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {74E173C8-D188-4C30-9CDE-19AE205B910C} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {EF1C4A90-386C-4944-AD3B-88B46CE9672F} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} @@ -2625,7 +2633,6 @@ Global {74EBDD37-F0D6-4E9A-AC53-6B837E867337} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {5B894162-20F3-48FB-AC63-5738280C70F7} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {27A287E5-30DA-4F66-AF18-8E58DDC37AB9} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} - {2DF4F089-9E90-464D-8DD9-C7E17BA85504} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {BD2A9BAC-1831-41CC-AA54-2C89E30BBFAC} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {546A1710-A5A7-4AF9-B8C1-1143F6A789D6} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A} {D13980F0-AC54-4333-8D63-F2AFAB7987FE} = {899FAE76-60BB-4E45-B106-4B2FACE6FC3A}