From cf01fc3aeeece16c9ce013c250f298d37268de3c Mon Sep 17 00:00:00 2001 From: aws-sdk-dotnet-automation Date: Thu, 5 Dec 2024 03:46:41 +0000 Subject: [PATCH] 4.1.713 --- Include/sdk/_sdk-versions.json | 6 +- changelogs/CHANGELOG.2024.md | 30 +- changelogs/CHANGELOG.ALL.md | 30 +- .../ServiceConfig/partnercentral-selling.xml | 84 +++ modules/AWSPowerShell/AWSAliases.ps1 | 47 ++ .../AWSPowerShellCompleters.psm1 | 99 ++- ...ools.PartnerCentralSelling.Completers.psm1 | 99 ++- .../AWS.Tools.PartnerCentralSelling.psd1 | 23 +- .../Get-PCAwsOpportunitySummary-Cmdlet.cs | 8 +- .../Basic/Get-PCEngagement-Cmdlet.cs | 233 ++++++ ...entByAcceptingInvitationTaskList-Cmdlet.cs | 375 ++++++++++ ...ngagementFromOpportunityTaskList-Cmdlet.cs | 375 ++++++++++ .../Get-PCEngagementInvitationList-Cmdlet.cs | 61 ++ .../Basic/Get-PCEngagementList-Cmdlet.cs | 355 +++++++++ .../Get-PCEngagementMemberList-Cmdlet.cs | 269 +++++++ ...ngagementResourceAssociationList-Cmdlet.cs | 314 ++++++++ .../Basic/Get-PCOpportunity-Cmdlet.cs | 11 +- .../Basic/Get-PCOpportunityList-Cmdlet.cs | 23 +- .../Basic/Get-PCResourceSnapshot-Cmdlet.cs | 344 +++++++++ .../Basic/Get-PCResourceSnapshotJob-Cmdlet.cs | 232 ++++++ .../Get-PCResourceSnapshotJobList-Cmdlet.cs | 326 ++++++++ .../Get-PCResourceSnapshotList-Cmdlet.cs | 335 +++++++++ .../Get-PCSellingSystemSetting-Cmdlet.cs | 203 +++++ .../Basic/Get-PCSolutionList-Cmdlet.cs | 18 +- ...oke-PCAcceptEngagementInvitation-Cmdlet.cs | 252 +++++++ .../Invoke-PCAssignOpportunity-Cmdlet.cs | 19 +- .../Invoke-PCAssociateOpportunity-Cmdlet.cs | 31 +- .../Basic/Invoke-PCCreateEngagement-Cmdlet.cs | 332 +++++++++ ...oke-PCCreateEngagementInvitation-Cmdlet.cs | 702 ++++++++++++++++++ .../Invoke-PCCreateOpportunity-Cmdlet.cs | 198 +++-- ...Invoke-PCDisassociateOpportunity-Cmdlet.cs | 28 +- .../Basic/Invoke-PCResourceSnapshot-Cmdlet.cs | 361 +++++++++ .../Invoke-PCResourceSnapshotJob-Cmdlet.cs | 357 +++++++++ .../Remove-PCResourceSnapshotJob-Cmdlet.cs | 248 +++++++ .../Start-PCResourceSnapshotJob-Cmdlet.cs | 246 ++++++ .../Stop-PCResourceSnapshotJob-Cmdlet.cs | 246 ++++++ .../Basic/Submit-PCOpportunity-Cmdlet.cs | 297 ++++++++ .../Basic/Update-PCOpportunity-Cmdlet.cs | 184 +++-- .../Write-PCSellingSystemSetting-Cmdlet.cs | 235 ++++++ .../Search-QBUSRelevantContent-Cmdlet.cs | 44 +- modules/AWSPowerShell/CmdletsList.dat | Bin 167319 -> 167496 bytes modules/ModularAWSPowerShell/CmdletsList.dat | Bin 166673 -> 166850 bytes 42 files changed, 7339 insertions(+), 341 deletions(-) create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagement-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementByAcceptingInvitationTaskList-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementFromOpportunityTaskList-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementList-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementMemberList-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementResourceAssociationList-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshot-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJob-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJobList-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotList-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSellingSystemSetting-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAcceptEngagementInvitation-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagement-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagementInvitation-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshot-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshotJob-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Remove-PCResourceSnapshotJob-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Start-PCResourceSnapshotJob-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Stop-PCResourceSnapshotJob-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Submit-PCOpportunity-Cmdlet.cs create mode 100644 modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Write-PCSellingSystemSetting-Cmdlet.cs diff --git a/Include/sdk/_sdk-versions.json b/Include/sdk/_sdk-versions.json index f9d2e8482..afb16ce00 100644 --- a/Include/sdk/_sdk-versions.json +++ b/Include/sdk/_sdk-versions.json @@ -1,7 +1,7 @@ { "NewServiceVersion" : "3.7.400.0", - "ProductVersion" : "3.7.940.0", + "ProductVersion" : "3.7.941.0", "CoreVersion" : "3.7.400.59", "OverrideCoreVersion" : "3.3", "DefaultToPreview" : false, @@ -2892,7 +2892,7 @@ "InPreview" : false }, "QBusiness" : { - "Version" : "3.7.406.0", + "Version" : "3.7.407.0", "AssemblyVersionOverride" : "3.3", "Dependencies" : { "Core" : "3.7.400.59" @@ -3140,7 +3140,7 @@ "InPreview" : false }, "PartnerCentralSelling" : { - "Version" : "3.7.401.7", + "Version" : "3.7.402.0", "AssemblyVersionOverride" : "3.3", "Dependencies" : { "Core" : "3.7.400.59" diff --git a/changelogs/CHANGELOG.2024.md b/changelogs/CHANGELOG.2024.md index 32a62abaf..afd45454b 100644 --- a/changelogs/CHANGELOG.2024.md +++ b/changelogs/CHANGELOG.2024.md @@ -1,4 +1,32 @@ -### 4.1.712 (2024-12-04 21:18Z) +### 4.1.713 (2024-12-05 03:34Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.941.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 Partner Central Selling API + * Added cmdlet Get-PCEngagement leveraging the GetEngagement service API. + * Added cmdlet Get-PCEngagementByAcceptingInvitationTaskList leveraging the ListEngagementByAcceptingInvitationTasks service API. + * Added cmdlet Get-PCEngagementFromOpportunityTaskList leveraging the ListEngagementFromOpportunityTasks service API. + * Added cmdlet Get-PCEngagementList leveraging the ListEngagements service API. + * Added cmdlet Get-PCEngagementMemberList leveraging the ListEngagementMembers service API. + * Added cmdlet Get-PCEngagementResourceAssociationList leveraging the ListEngagementResourceAssociations service API. + * Added cmdlet Get-PCResourceSnapshot leveraging the GetResourceSnapshot service API. + * Added cmdlet Get-PCResourceSnapshotJob leveraging the GetResourceSnapshotJob service API. + * Added cmdlet Get-PCResourceSnapshotJobList leveraging the ListResourceSnapshotJobs service API. + * Added cmdlet Get-PCResourceSnapshotList leveraging the ListResourceSnapshots service API. + * Added cmdlet Get-PCSellingSystemSetting leveraging the GetSellingSystemSettings service API. + * Added cmdlet Invoke-PCAcceptEngagementInvitation leveraging the AcceptEngagementInvitation service API. + * Added cmdlet Invoke-PCCreateEngagement leveraging the CreateEngagement service API. + * Added cmdlet Invoke-PCCreateEngagementInvitation leveraging the CreateEngagementInvitation service API. + * Added cmdlet Invoke-PCResourceSnapshot leveraging the CreateResourceSnapshot service API. + * Added cmdlet Invoke-PCResourceSnapshotJob leveraging the CreateResourceSnapshotJob service API. + * Added cmdlet Remove-PCResourceSnapshotJob leveraging the DeleteResourceSnapshotJob service API. + * Added cmdlet Start-PCResourceSnapshotJob leveraging the StartResourceSnapshotJob service API. + * Added cmdlet Stop-PCResourceSnapshotJob leveraging the StopResourceSnapshotJob service API. + * Added cmdlet Submit-PCOpportunity leveraging the SubmitOpportunity service API. + * Added cmdlet Write-PCSellingSystemSetting leveraging the PutSellingSystemSettings service API. + * Modified cmdlet Get-PCEngagementInvitationList: added parameters EngagementIdentifier, SenderAwsAccountId and Status. + * Amazon QBusiness + * [Breaking Change] Modified cmdlet Search-QBUSRelevantContent: removed parameters UserGroup and UserId. + +### 4.1.712 (2024-12-04 21:18Z) * AWS Tools for PowerShell now use AWS .NET SDK 3.7.940.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 Agents for Amazon Bedrock * Modified cmdlet New-AABDataSource: added parameters BedrockDataAutomationConfiguration_ParsingModality and BedrockFoundationModelConfiguration_ParsingModality. diff --git a/changelogs/CHANGELOG.ALL.md b/changelogs/CHANGELOG.ALL.md index 7c82ca03f..08ee521b5 100644 --- a/changelogs/CHANGELOG.ALL.md +++ b/changelogs/CHANGELOG.ALL.md @@ -1,4 +1,32 @@ -### 4.1.712 (2024-12-04 21:18Z) +### 4.1.713 (2024-12-05 03:34Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.941.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 Partner Central Selling API + * Added cmdlet Get-PCEngagement leveraging the GetEngagement service API. + * Added cmdlet Get-PCEngagementByAcceptingInvitationTaskList leveraging the ListEngagementByAcceptingInvitationTasks service API. + * Added cmdlet Get-PCEngagementFromOpportunityTaskList leveraging the ListEngagementFromOpportunityTasks service API. + * Added cmdlet Get-PCEngagementList leveraging the ListEngagements service API. + * Added cmdlet Get-PCEngagementMemberList leveraging the ListEngagementMembers service API. + * Added cmdlet Get-PCEngagementResourceAssociationList leveraging the ListEngagementResourceAssociations service API. + * Added cmdlet Get-PCResourceSnapshot leveraging the GetResourceSnapshot service API. + * Added cmdlet Get-PCResourceSnapshotJob leveraging the GetResourceSnapshotJob service API. + * Added cmdlet Get-PCResourceSnapshotJobList leveraging the ListResourceSnapshotJobs service API. + * Added cmdlet Get-PCResourceSnapshotList leveraging the ListResourceSnapshots service API. + * Added cmdlet Get-PCSellingSystemSetting leveraging the GetSellingSystemSettings service API. + * Added cmdlet Invoke-PCAcceptEngagementInvitation leveraging the AcceptEngagementInvitation service API. + * Added cmdlet Invoke-PCCreateEngagement leveraging the CreateEngagement service API. + * Added cmdlet Invoke-PCCreateEngagementInvitation leveraging the CreateEngagementInvitation service API. + * Added cmdlet Invoke-PCResourceSnapshot leveraging the CreateResourceSnapshot service API. + * Added cmdlet Invoke-PCResourceSnapshotJob leveraging the CreateResourceSnapshotJob service API. + * Added cmdlet Remove-PCResourceSnapshotJob leveraging the DeleteResourceSnapshotJob service API. + * Added cmdlet Start-PCResourceSnapshotJob leveraging the StartResourceSnapshotJob service API. + * Added cmdlet Stop-PCResourceSnapshotJob leveraging the StopResourceSnapshotJob service API. + * Added cmdlet Submit-PCOpportunity leveraging the SubmitOpportunity service API. + * Added cmdlet Write-PCSellingSystemSetting leveraging the PutSellingSystemSettings service API. + * Modified cmdlet Get-PCEngagementInvitationList: added parameters EngagementIdentifier, SenderAwsAccountId and Status. + * Amazon QBusiness + * [Breaking Change] Modified cmdlet Search-QBUSRelevantContent: removed parameters UserGroup and UserId. + +### 4.1.712 (2024-12-04 21:18Z) * AWS Tools for PowerShell now use AWS .NET SDK 3.7.940.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 Agents for Amazon Bedrock * Modified cmdlet New-AABDataSource: added parameters BedrockDataAutomationConfiguration_ParsingModality and BedrockFoundationModelConfiguration_ParsingModality. diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/partnercentral-selling.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/partnercentral-selling.xml index 95ad47e49..4090c8fb5 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/partnercentral-selling.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/partnercentral-selling.xml @@ -18,6 +18,10 @@ + + + + @@ -26,10 +30,30 @@ + + + + + + + + + + + + + + + + + + + + @@ -38,6 +62,10 @@ + + + + @@ -46,18 +74,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -70,6 +142,18 @@ + + + + + + + + + + + + diff --git a/modules/AWSPowerShell/AWSAliases.ps1 b/modules/AWSPowerShell/AWSAliases.ps1 index d057b419b..7df3903ae 100644 --- a/modules/AWSPowerShell/AWSAliases.ps1 +++ b/modules/AWSPowerShell/AWSAliases.ps1 @@ -22252,30 +22252,74 @@ Set-Alias -Name PAN-SignalApplicationInstanceNodeInstances -Value Send-PANApplic Set-Alias -Name PAN-TagResource -Value Add-PANResourceTag Set-Alias -Name PAN-UntagResource -Value Remove-PANResourceTag Set-Alias -Name PAN-UpdateDeviceMetadata -Value Update-PANDeviceMetadata +Set-Alias -Name Accept-PCEngagementInvitation -Value Invoke-PCAcceptEngagementInvitation +Set-Alias -Name Accept-PCAcceptEngagementInvitation -Value Invoke-PCAcceptEngagementInvitation +Set-Alias -Name PC-AcceptEngagementInvitation -Value Invoke-PCAcceptEngagementInvitation Set-Alias -Name Assign-PCOpportunity -Value Invoke-PCAssignOpportunity Set-Alias -Name Assign-PCAssignOpportunity -Value Invoke-PCAssignOpportunity Set-Alias -Name PC-AssignOpportunity -Value Invoke-PCAssignOpportunity Set-Alias -Name Associate-PCOpportunity -Value Invoke-PCAssociateOpportunity Set-Alias -Name Associate-PCAssociateOpportunity -Value Invoke-PCAssociateOpportunity Set-Alias -Name PC-AssociateOpportunity -Value Invoke-PCAssociateOpportunity +Set-Alias -Name Create-PCEngagement -Value Invoke-PCCreateEngagement +Set-Alias -Name Create-PCCreateEngagement -Value Invoke-PCCreateEngagement +Set-Alias -Name PC-CreateEngagement -Value Invoke-PCCreateEngagement +Set-Alias -Name Create-PCEngagementInvitation -Value Invoke-PCCreateEngagementInvitation +Set-Alias -Name Create-PCCreateEngagementInvitation -Value Invoke-PCCreateEngagementInvitation +Set-Alias -Name PC-CreateEngagementInvitation -Value Invoke-PCCreateEngagementInvitation Set-Alias -Name Create-PCOpportunity -Value Invoke-PCCreateOpportunity Set-Alias -Name Create-PCCreateOpportunity -Value Invoke-PCCreateOpportunity Set-Alias -Name PC-CreateOpportunity -Value Invoke-PCCreateOpportunity +Set-Alias -Name Create-PCResourceSnapshot -Value Invoke-PCResourceSnapshot +Set-Alias -Name PC-CreateResourceSnapshot -Value Invoke-PCResourceSnapshot +Set-Alias -Name Create-PCResourceSnapshotJob -Value Invoke-PCResourceSnapshotJob +Set-Alias -Name PC-CreateResourceSnapshotJob -Value Invoke-PCResourceSnapshotJob +Set-Alias -Name Delete-PCResourceSnapshotJob -Value Remove-PCResourceSnapshotJob +Set-Alias -Name PC-DeleteResourceSnapshotJob -Value Remove-PCResourceSnapshotJob Set-Alias -Name Disassociate-PCOpportunity -Value Invoke-PCDisassociateOpportunity Set-Alias -Name Disassociate-PCDisassociateOpportunity -Value Invoke-PCDisassociateOpportunity Set-Alias -Name PC-DisassociateOpportunity -Value Invoke-PCDisassociateOpportunity Set-Alias -Name PC-GetAwsOpportunitySummary -Value Get-PCAwsOpportunitySummary +Set-Alias -Name PC-GetEngagement -Value Get-PCEngagement Set-Alias -Name PC-GetEngagementInvitation -Value Get-PCEngagementInvitation Set-Alias -Name PC-GetOpportunity -Value Get-PCOpportunity +Set-Alias -Name PC-GetResourceSnapshot -Value Get-PCResourceSnapshot +Set-Alias -Name PC-GetResourceSnapshotJob -Value Get-PCResourceSnapshotJob +Set-Alias -Name Get-PCSellingSystemSettings -Value Get-PCSellingSystemSetting +Set-Alias -Name PC-GetSellingSystemSettings -Value Get-PCSellingSystemSetting +Set-Alias -Name List-PCEngagementByAcceptingInvitationTasks -Value Get-PCEngagementByAcceptingInvitationTaskList +Set-Alias -Name List-PCEngagementByAcceptingInvitationTaskList -Value Get-PCEngagementByAcceptingInvitationTaskList +Set-Alias -Name PC-ListEngagementByAcceptingInvitationTasks -Value Get-PCEngagementByAcceptingInvitationTaskList +Set-Alias -Name List-PCEngagementFromOpportunityTasks -Value Get-PCEngagementFromOpportunityTaskList +Set-Alias -Name List-PCEngagementFromOpportunityTaskList -Value Get-PCEngagementFromOpportunityTaskList +Set-Alias -Name PC-ListEngagementFromOpportunityTasks -Value Get-PCEngagementFromOpportunityTaskList Set-Alias -Name List-PCEngagementInvitations -Value Get-PCEngagementInvitationList Set-Alias -Name List-PCEngagementInvitationList -Value Get-PCEngagementInvitationList Set-Alias -Name PC-ListEngagementInvitations -Value Get-PCEngagementInvitationList +Set-Alias -Name List-PCEngagementMembers -Value Get-PCEngagementMemberList +Set-Alias -Name List-PCEngagementMemberList -Value Get-PCEngagementMemberList +Set-Alias -Name PC-ListEngagementMembers -Value Get-PCEngagementMemberList +Set-Alias -Name List-PCEngagementResourceAssociations -Value Get-PCEngagementResourceAssociationList +Set-Alias -Name List-PCEngagementResourceAssociationList -Value Get-PCEngagementResourceAssociationList +Set-Alias -Name PC-ListEngagementResourceAssociations -Value Get-PCEngagementResourceAssociationList +Set-Alias -Name List-PCEngagements -Value Get-PCEngagementList +Set-Alias -Name List-PCEngagementList -Value Get-PCEngagementList +Set-Alias -Name PC-ListEngagements -Value Get-PCEngagementList Set-Alias -Name List-PCOpportunities -Value Get-PCOpportunityList Set-Alias -Name List-PCOpportunityList -Value Get-PCOpportunityList Set-Alias -Name PC-ListOpportunities -Value Get-PCOpportunityList +Set-Alias -Name List-PCResourceSnapshotJobs -Value Get-PCResourceSnapshotJobList +Set-Alias -Name List-PCResourceSnapshotJobList -Value Get-PCResourceSnapshotJobList +Set-Alias -Name PC-ListResourceSnapshotJobs -Value Get-PCResourceSnapshotJobList +Set-Alias -Name List-PCResourceSnapshots -Value Get-PCResourceSnapshotList +Set-Alias -Name List-PCResourceSnapshotList -Value Get-PCResourceSnapshotList +Set-Alias -Name PC-ListResourceSnapshots -Value Get-PCResourceSnapshotList Set-Alias -Name List-PCSolutions -Value Get-PCSolutionList Set-Alias -Name List-PCSolutionList -Value Get-PCSolutionList Set-Alias -Name PC-ListSolutions -Value Get-PCSolutionList +Set-Alias -Name Put-PCSellingSystemSettings -Value Write-PCSellingSystemSetting +Set-Alias -Name Put-PCSellingSystemSetting -Value Write-PCSellingSystemSetting +Set-Alias -Name PC-PutSellingSystemSettings -Value Write-PCSellingSystemSetting Set-Alias -Name Reject-PCEngagementInvitation -Value Invoke-PCRejectEngagementInvitation Set-Alias -Name Reject-PCRejectEngagementInvitation -Value Invoke-PCRejectEngagementInvitation Set-Alias -Name PC-RejectEngagementInvitation -Value Invoke-PCRejectEngagementInvitation @@ -22285,6 +22329,9 @@ Set-Alias -Name PC-StartEngagementByAcceptingInvitationTask -Value Invoke-PCStar Set-Alias -Name Start-PCEngagementFromOpportunityTask -Value Invoke-PCStartEngagementFromOpportunityTask Set-Alias -Name Start-PCStartEngagementFromOpportunityTask -Value Invoke-PCStartEngagementFromOpportunityTask Set-Alias -Name PC-StartEngagementFromOpportunityTask -Value Invoke-PCStartEngagementFromOpportunityTask +Set-Alias -Name PC-StartResourceSnapshotJob -Value Start-PCResourceSnapshotJob +Set-Alias -Name PC-StopResourceSnapshotJob -Value Stop-PCResourceSnapshotJob +Set-Alias -Name PC-SubmitOpportunity -Value Submit-PCOpportunity Set-Alias -Name PC-UpdateOpportunity -Value Update-PCOpportunity Set-Alias -Name Create-PAYCCAlias -Value New-PAYCCAlias Set-Alias -Name PAYCC-CreateAlias -Value New-PAYCCAlias diff --git a/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 b/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 index 03c3a4e08..3aee20cdd 100644 --- a/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 +++ b/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 @@ -54476,7 +54476,8 @@ $PC_Completers = { # Amazon.PartnerCentralSelling.CountryCode { ($_ -eq "Invoke-PCCreateOpportunity/Address_CountryCode") -Or - ($_ -eq "Update-PCOpportunity/Address_CountryCode") + ($_ -eq "Update-PCOpportunity/Address_CountryCode") -Or + ($_ -eq "Invoke-PCCreateEngagementInvitation/Customer_CountryCode") } { $v = "AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW" @@ -54493,16 +54494,34 @@ $PC_Completers = { break } + # Amazon.PartnerCentralSelling.EngagementSortName + "Get-PCEngagementList/Sort_SortBy" + { + $v = "CreatedDate" + break + } + # Amazon.PartnerCentralSelling.Industry { ($_ -eq "Invoke-PCCreateOpportunity/Account_Industry") -Or - ($_ -eq "Update-PCOpportunity/Account_Industry") + ($_ -eq "Update-PCOpportunity/Account_Industry") -Or + ($_ -eq "Invoke-PCCreateEngagementInvitation/Customer_Industry") } { $v = "Aerospace","Agriculture","Automotive","Computers and Electronics","Consumer Goods","Education","Energy - Oil and Gas","Energy - Power and Utilities","Financial Services","Gaming","Government","Healthcare","Hospitality","Life Sciences","Manufacturing","Marketing and Advertising","Media and Entertainment","Mining","Non-Profit Organization","Other","Professional Services","Real Estate and Construction","Retail","Software and Internet","Telecommunications","Transportation and Logistics","Travel","Wholesale and Distribution" break } + # Amazon.PartnerCentralSelling.ListTasksSortName + { + ($_ -eq "Get-PCEngagementByAcceptingInvitationTaskList/Sort_SortBy") -Or + ($_ -eq "Get-PCEngagementFromOpportunityTaskList/Sort_SortBy") + } + { + $v = "StartTime" + break + } + # Amazon.PartnerCentralSelling.MarketingSource { ($_ -eq "Invoke-PCCreateOpportunity/Marketing_Source") -Or @@ -54557,7 +54576,7 @@ $PC_Completers = { # Amazon.PartnerCentralSelling.ParticipantType "Get-PCEngagementInvitationList/ParticipantType" { - $v = "RECEIVER" + $v = "RECEIVER","SENDER" break } @@ -54571,6 +54590,26 @@ $PC_Completers = { break } + # Amazon.PartnerCentralSelling.ResourceSnapshotJobStatus + "Get-PCResourceSnapshotJobList/Status" + { + $v = "Running","Stopped" + break + } + + # Amazon.PartnerCentralSelling.ResourceType + { + ($_ -eq "Get-PCEngagementResourceAssociationList/ResourceType") -Or + ($_ -eq "Get-PCResourceSnapshot/ResourceType") -Or + ($_ -eq "Get-PCResourceSnapshotList/ResourceType") -Or + ($_ -eq "Invoke-PCResourceSnapshot/ResourceType") -Or + ($_ -eq "Invoke-PCResourceSnapshotJob/ResourceType") + } + { + $v = "Opportunity" + break + } + # Amazon.PartnerCentralSelling.RevenueModel { ($_ -eq "Invoke-PCCreateOpportunity/SoftwareRevenue_DeliveryModel") -Or @@ -54592,7 +54631,10 @@ $PC_Completers = { } # Amazon.PartnerCentralSelling.SalesInvolvementType - "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_InvolvementType" + { + ($_ -eq "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_InvolvementType") -Or + ($_ -eq "Submit-PCOpportunity/InvolvementType") + } { $v = "Co-Sell","For Visibility Only" break @@ -54605,10 +54647,21 @@ $PC_Completers = { break } + # Amazon.PartnerCentralSelling.SortBy + "Get-PCResourceSnapshotJobList/Sort_SortBy" + { + $v = "CreatedDate" + break + } + # Amazon.PartnerCentralSelling.SortOrder { + ($_ -eq "Get-PCEngagementByAcceptingInvitationTaskList/Sort_SortOrder") -Or + ($_ -eq "Get-PCEngagementFromOpportunityTaskList/Sort_SortOrder") -Or ($_ -eq "Get-PCEngagementInvitationList/Sort_SortOrder") -Or + ($_ -eq "Get-PCEngagementList/Sort_SortOrder") -Or ($_ -eq "Get-PCOpportunityList/Sort_SortOrder") -Or + ($_ -eq "Get-PCResourceSnapshotJobList/Sort_SortOrder") -Or ($_ -eq "Get-PCSolutionList/Sort_SortOrder") } { @@ -54627,7 +54680,10 @@ $PC_Completers = { } # Amazon.PartnerCentralSelling.Visibility - "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_Visibility" + { + ($_ -eq "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_Visibility") -Or + ($_ -eq "Submit-PCOpportunity/Visibility") + } { $v = "Full","Limited" break @@ -54646,6 +54702,9 @@ $PC_map = @{ "Address_CountryCode"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "AwsSubmission_InvolvementType"=@("Invoke-PCStartEngagementFromOpportunityTask") "AwsSubmission_Visibility"=@("Invoke-PCStartEngagementFromOpportunityTask") + "Customer_CountryCode"=@("Invoke-PCCreateEngagementInvitation") + "Customer_Industry"=@("Invoke-PCCreateEngagementInvitation") + "InvolvementType"=@("Submit-PCOpportunity") "LifeCycle_ClosedLostReason"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "LifeCycle_ReviewStatus"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "LifeCycle_Stage"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") @@ -54657,10 +54716,13 @@ $PC_map = @{ "ParticipantType"=@("Get-PCEngagementInvitationList") "Project_CompetitorName"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "RelatedEntityType"=@("Invoke-PCAssociateOpportunity","Invoke-PCDisassociateOpportunity") + "ResourceType"=@("Get-PCEngagementResourceAssociationList","Get-PCResourceSnapshot","Get-PCResourceSnapshotList","Invoke-PCResourceSnapshot","Invoke-PCResourceSnapshotJob") "SoftwareRevenue_DeliveryModel"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") - "Sort_SortBy"=@("Get-PCEngagementInvitationList","Get-PCOpportunityList","Get-PCSolutionList") - "Sort_SortOrder"=@("Get-PCEngagementInvitationList","Get-PCOpportunityList","Get-PCSolutionList") + "Sort_SortBy"=@("Get-PCEngagementByAcceptingInvitationTaskList","Get-PCEngagementFromOpportunityTaskList","Get-PCEngagementInvitationList","Get-PCEngagementList","Get-PCOpportunityList","Get-PCResourceSnapshotJobList","Get-PCSolutionList") + "Sort_SortOrder"=@("Get-PCEngagementByAcceptingInvitationTaskList","Get-PCEngagementFromOpportunityTaskList","Get-PCEngagementInvitationList","Get-PCEngagementList","Get-PCOpportunityList","Get-PCResourceSnapshotJobList","Get-PCSolutionList") + "Status"=@("Get-PCResourceSnapshotJobList") "Value_CurrencyCode"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") + "Visibility"=@("Submit-PCOpportunity") } _awsArgumentCompleterRegistration $PC_Completers $PC_map @@ -54713,19 +54775,40 @@ $PC_SelectCompleters = { } $PC_SelectMap = @{ - "Select"=@("Invoke-PCAssignOpportunity", + "Select"=@("Invoke-PCAcceptEngagementInvitation", + "Invoke-PCAssignOpportunity", "Invoke-PCAssociateOpportunity", + "Invoke-PCCreateEngagement", + "Invoke-PCCreateEngagementInvitation", "Invoke-PCCreateOpportunity", + "Invoke-PCResourceSnapshot", + "Invoke-PCResourceSnapshotJob", + "Remove-PCResourceSnapshotJob", "Invoke-PCDisassociateOpportunity", "Get-PCAwsOpportunitySummary", + "Get-PCEngagement", "Get-PCEngagementInvitation", "Get-PCOpportunity", + "Get-PCResourceSnapshot", + "Get-PCResourceSnapshotJob", + "Get-PCSellingSystemSetting", + "Get-PCEngagementByAcceptingInvitationTaskList", + "Get-PCEngagementFromOpportunityTaskList", "Get-PCEngagementInvitationList", + "Get-PCEngagementMemberList", + "Get-PCEngagementResourceAssociationList", + "Get-PCEngagementList", "Get-PCOpportunityList", + "Get-PCResourceSnapshotJobList", + "Get-PCResourceSnapshotList", "Get-PCSolutionList", + "Write-PCSellingSystemSetting", "Invoke-PCRejectEngagementInvitation", "Invoke-PCStartEngagementByAcceptingInvitationTask", "Invoke-PCStartEngagementFromOpportunityTask", + "Start-PCResourceSnapshotJob", + "Stop-PCResourceSnapshotJob", + "Submit-PCOpportunity", "Update-PCOpportunity") } diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.Completers.psm1 index c1a4831c8..d0eb703f3 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.Completers.psm1 @@ -113,7 +113,8 @@ $PC_Completers = { # Amazon.PartnerCentralSelling.CountryCode { ($_ -eq "Invoke-PCCreateOpportunity/Address_CountryCode") -Or - ($_ -eq "Update-PCOpportunity/Address_CountryCode") + ($_ -eq "Update-PCOpportunity/Address_CountryCode") -Or + ($_ -eq "Invoke-PCCreateEngagementInvitation/Customer_CountryCode") } { $v = "AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW" @@ -130,16 +131,34 @@ $PC_Completers = { break } + # Amazon.PartnerCentralSelling.EngagementSortName + "Get-PCEngagementList/Sort_SortBy" + { + $v = "CreatedDate" + break + } + # Amazon.PartnerCentralSelling.Industry { ($_ -eq "Invoke-PCCreateOpportunity/Account_Industry") -Or - ($_ -eq "Update-PCOpportunity/Account_Industry") + ($_ -eq "Update-PCOpportunity/Account_Industry") -Or + ($_ -eq "Invoke-PCCreateEngagementInvitation/Customer_Industry") } { $v = "Aerospace","Agriculture","Automotive","Computers and Electronics","Consumer Goods","Education","Energy - Oil and Gas","Energy - Power and Utilities","Financial Services","Gaming","Government","Healthcare","Hospitality","Life Sciences","Manufacturing","Marketing and Advertising","Media and Entertainment","Mining","Non-Profit Organization","Other","Professional Services","Real Estate and Construction","Retail","Software and Internet","Telecommunications","Transportation and Logistics","Travel","Wholesale and Distribution" break } + # Amazon.PartnerCentralSelling.ListTasksSortName + { + ($_ -eq "Get-PCEngagementByAcceptingInvitationTaskList/Sort_SortBy") -Or + ($_ -eq "Get-PCEngagementFromOpportunityTaskList/Sort_SortBy") + } + { + $v = "StartTime" + break + } + # Amazon.PartnerCentralSelling.MarketingSource { ($_ -eq "Invoke-PCCreateOpportunity/Marketing_Source") -Or @@ -194,7 +213,7 @@ $PC_Completers = { # Amazon.PartnerCentralSelling.ParticipantType "Get-PCEngagementInvitationList/ParticipantType" { - $v = "RECEIVER" + $v = "RECEIVER","SENDER" break } @@ -208,6 +227,26 @@ $PC_Completers = { break } + # Amazon.PartnerCentralSelling.ResourceSnapshotJobStatus + "Get-PCResourceSnapshotJobList/Status" + { + $v = "Running","Stopped" + break + } + + # Amazon.PartnerCentralSelling.ResourceType + { + ($_ -eq "Get-PCEngagementResourceAssociationList/ResourceType") -Or + ($_ -eq "Get-PCResourceSnapshot/ResourceType") -Or + ($_ -eq "Get-PCResourceSnapshotList/ResourceType") -Or + ($_ -eq "Invoke-PCResourceSnapshot/ResourceType") -Or + ($_ -eq "Invoke-PCResourceSnapshotJob/ResourceType") + } + { + $v = "Opportunity" + break + } + # Amazon.PartnerCentralSelling.RevenueModel { ($_ -eq "Invoke-PCCreateOpportunity/SoftwareRevenue_DeliveryModel") -Or @@ -229,7 +268,10 @@ $PC_Completers = { } # Amazon.PartnerCentralSelling.SalesInvolvementType - "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_InvolvementType" + { + ($_ -eq "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_InvolvementType") -Or + ($_ -eq "Submit-PCOpportunity/InvolvementType") + } { $v = "Co-Sell","For Visibility Only" break @@ -242,10 +284,21 @@ $PC_Completers = { break } + # Amazon.PartnerCentralSelling.SortBy + "Get-PCResourceSnapshotJobList/Sort_SortBy" + { + $v = "CreatedDate" + break + } + # Amazon.PartnerCentralSelling.SortOrder { + ($_ -eq "Get-PCEngagementByAcceptingInvitationTaskList/Sort_SortOrder") -Or + ($_ -eq "Get-PCEngagementFromOpportunityTaskList/Sort_SortOrder") -Or ($_ -eq "Get-PCEngagementInvitationList/Sort_SortOrder") -Or + ($_ -eq "Get-PCEngagementList/Sort_SortOrder") -Or ($_ -eq "Get-PCOpportunityList/Sort_SortOrder") -Or + ($_ -eq "Get-PCResourceSnapshotJobList/Sort_SortOrder") -Or ($_ -eq "Get-PCSolutionList/Sort_SortOrder") } { @@ -264,7 +317,10 @@ $PC_Completers = { } # Amazon.PartnerCentralSelling.Visibility - "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_Visibility" + { + ($_ -eq "Invoke-PCStartEngagementFromOpportunityTask/AwsSubmission_Visibility") -Or + ($_ -eq "Submit-PCOpportunity/Visibility") + } { $v = "Full","Limited" break @@ -283,6 +339,9 @@ $PC_map = @{ "Address_CountryCode"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "AwsSubmission_InvolvementType"=@("Invoke-PCStartEngagementFromOpportunityTask") "AwsSubmission_Visibility"=@("Invoke-PCStartEngagementFromOpportunityTask") + "Customer_CountryCode"=@("Invoke-PCCreateEngagementInvitation") + "Customer_Industry"=@("Invoke-PCCreateEngagementInvitation") + "InvolvementType"=@("Submit-PCOpportunity") "LifeCycle_ClosedLostReason"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "LifeCycle_ReviewStatus"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "LifeCycle_Stage"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") @@ -294,10 +353,13 @@ $PC_map = @{ "ParticipantType"=@("Get-PCEngagementInvitationList") "Project_CompetitorName"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") "RelatedEntityType"=@("Invoke-PCAssociateOpportunity","Invoke-PCDisassociateOpportunity") + "ResourceType"=@("Get-PCEngagementResourceAssociationList","Get-PCResourceSnapshot","Get-PCResourceSnapshotList","Invoke-PCResourceSnapshot","Invoke-PCResourceSnapshotJob") "SoftwareRevenue_DeliveryModel"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") - "Sort_SortBy"=@("Get-PCEngagementInvitationList","Get-PCOpportunityList","Get-PCSolutionList") - "Sort_SortOrder"=@("Get-PCEngagementInvitationList","Get-PCOpportunityList","Get-PCSolutionList") + "Sort_SortBy"=@("Get-PCEngagementByAcceptingInvitationTaskList","Get-PCEngagementFromOpportunityTaskList","Get-PCEngagementInvitationList","Get-PCEngagementList","Get-PCOpportunityList","Get-PCResourceSnapshotJobList","Get-PCSolutionList") + "Sort_SortOrder"=@("Get-PCEngagementByAcceptingInvitationTaskList","Get-PCEngagementFromOpportunityTaskList","Get-PCEngagementInvitationList","Get-PCEngagementList","Get-PCOpportunityList","Get-PCResourceSnapshotJobList","Get-PCSolutionList") + "Status"=@("Get-PCResourceSnapshotJobList") "Value_CurrencyCode"=@("Invoke-PCCreateOpportunity","Update-PCOpportunity") + "Visibility"=@("Submit-PCOpportunity") } _awsArgumentCompleterRegistration $PC_Completers $PC_map @@ -350,19 +412,40 @@ $PC_SelectCompleters = { } $PC_SelectMap = @{ - "Select"=@("Invoke-PCAssignOpportunity", + "Select"=@("Invoke-PCAcceptEngagementInvitation", + "Invoke-PCAssignOpportunity", "Invoke-PCAssociateOpportunity", + "Invoke-PCCreateEngagement", + "Invoke-PCCreateEngagementInvitation", "Invoke-PCCreateOpportunity", + "Invoke-PCResourceSnapshot", + "Invoke-PCResourceSnapshotJob", + "Remove-PCResourceSnapshotJob", "Invoke-PCDisassociateOpportunity", "Get-PCAwsOpportunitySummary", + "Get-PCEngagement", "Get-PCEngagementInvitation", "Get-PCOpportunity", + "Get-PCResourceSnapshot", + "Get-PCResourceSnapshotJob", + "Get-PCSellingSystemSetting", + "Get-PCEngagementByAcceptingInvitationTaskList", + "Get-PCEngagementFromOpportunityTaskList", "Get-PCEngagementInvitationList", + "Get-PCEngagementMemberList", + "Get-PCEngagementResourceAssociationList", + "Get-PCEngagementList", "Get-PCOpportunityList", + "Get-PCResourceSnapshotJobList", + "Get-PCResourceSnapshotList", "Get-PCSolutionList", + "Write-PCSellingSystemSetting", "Invoke-PCRejectEngagementInvitation", "Invoke-PCStartEngagementByAcceptingInvitationTask", "Invoke-PCStartEngagementFromOpportunityTask", + "Start-PCResourceSnapshotJob", + "Stop-PCResourceSnapshotJob", + "Submit-PCOpportunity", "Update-PCOpportunity") } diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.psd1 b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.psd1 index ef1cd9ebc..180867870 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.psd1 +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/AWS.Tools.PartnerCentralSelling.psd1 @@ -87,19 +87,40 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Cmdlets to export from this module CmdletsToExport = @( 'Get-PCAwsOpportunitySummary', + 'Get-PCEngagement', + 'Get-PCEngagementByAcceptingInvitationTaskList', + 'Get-PCEngagementFromOpportunityTaskList', 'Get-PCEngagementInvitation', 'Get-PCEngagementInvitationList', + 'Get-PCEngagementList', + 'Get-PCEngagementMemberList', + 'Get-PCEngagementResourceAssociationList', 'Get-PCOpportunity', 'Get-PCOpportunityList', + 'Get-PCResourceSnapshot', + 'Get-PCResourceSnapshotJob', + 'Get-PCResourceSnapshotJobList', + 'Get-PCResourceSnapshotList', + 'Get-PCSellingSystemSetting', 'Get-PCSolutionList', + 'Invoke-PCAcceptEngagementInvitation', 'Invoke-PCAssignOpportunity', 'Invoke-PCAssociateOpportunity', + 'Invoke-PCCreateEngagement', + 'Invoke-PCCreateEngagementInvitation', 'Invoke-PCCreateOpportunity', 'Invoke-PCDisassociateOpportunity', 'Invoke-PCRejectEngagementInvitation', + 'Invoke-PCResourceSnapshot', + 'Invoke-PCResourceSnapshotJob', 'Invoke-PCStartEngagementByAcceptingInvitationTask', 'Invoke-PCStartEngagementFromOpportunityTask', - 'Update-PCOpportunity') + 'Remove-PCResourceSnapshotJob', + 'Start-PCResourceSnapshotJob', + 'Stop-PCResourceSnapshotJob', + 'Submit-PCOpportunity', + 'Update-PCOpportunity', + 'Write-PCSellingSystemSetting') # Variables to export from this module VariablesToExport = '*' diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCAwsOpportunitySummary-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCAwsOpportunitySummary-Cmdlet.cs index 482752ae5..5f0d03df5 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCAwsOpportunitySummary-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCAwsOpportunitySummary-Cmdlet.cs @@ -49,9 +49,9 @@ public partial class GetPCAwsOpportunitySummaryCmdlet : AmazonPartnerCentralSell #region Parameter Catalog /// /// - /// Specifies the catalog in which the AWS Opportunity is located. Accepted values include + /// Specifies the catalog in which the AWS Opportunity is located. Accepted values include /// AWS for production opportunities or Sandbox for testing purposes. The - /// catalog determines which environment the opportunity data is pulled from. + /// catalog determines which environment the opportunity data is pulled from. /// /// #if !MODULAR @@ -68,8 +68,8 @@ public partial class GetPCAwsOpportunitySummaryCmdlet : AmazonPartnerCentralSell #region Parameter RelatedOpportunityIdentifier /// /// - /// The unique identifier for the related partner opportunity. Use this field to correlate - /// an AWS opportunity with its corresponding partner opportunity. + /// The unique identifier for the related partner opportunity. Use this field to correlate + /// an AWS opportunity with its corresponding partner opportunity. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagement-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagement-Cmdlet.cs new file mode 100644 index 000000000..126adb5db --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagement-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Use this action to retrieve the engagement record for a given EngagementIdentifier. + /// + [Cmdlet("Get", "PCEngagement")] + [OutputType("Amazon.PartnerCentralSelling.Model.GetEngagementResponse")] + [AWSCmdlet("Calls the Partner Central Selling API GetEngagement API operation.", Operation = new[] {"GetEngagement"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.GetEngagementResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.GetEngagementResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.GetEngagementResponse object containing multiple properties." + )] + public partial class GetPCEngagementCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the engagement request. Valid values are AWS + /// and Sandbox. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter Identifier + /// + /// + /// Specifies the identifier of the Engagement record to retrieve. + /// + /// + #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 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.PartnerCentralSelling.Model.GetEngagementResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.GetEngagementResponse 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 Identifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^Identifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Identifier' 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.Identifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.Identifier = this.Identifier; + #if MODULAR + if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) + { + 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 + + // 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.PartnerCentralSelling.Model.GetEngagementRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.Identifier != null) + { + request.Identifier = cmdletContext.Identifier; + } + + 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.PartnerCentralSelling.Model.GetEngagementResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.GetEngagementRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "GetEngagement"); + try + { + #if DESKTOP + return client.GetEngagement(request); + #elif CORECLR + return client.GetEngagementAsync(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 Catalog { get; set; } + public System.String Identifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementByAcceptingInvitationTaskList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementByAcceptingInvitationTaskList-Cmdlet.cs new file mode 100644 index 000000000..b259d3221 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementByAcceptingInvitationTaskList-Cmdlet.cs @@ -0,0 +1,375 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Lists all in-progress, completed, or failed StartEngagementByAcceptingInvitationTask + /// tasks that were initiated by the caller's account. + /// + [Cmdlet("Get", "PCEngagementByAcceptingInvitationTaskList")] + [OutputType("Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTaskSummary")] + [AWSCmdlet("Calls the Partner Central Selling API ListEngagementByAcceptingInvitationTasks API operation.", Operation = new[] {"ListEngagementByAcceptingInvitationTasks"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTaskSummary or Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksResponse", + "This cmdlet returns a collection of Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTaskSummary objects.", + "The service call response (type Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksResponse) can be returned by specifying '-Select *'." + )] + public partial class GetPCEngagementByAcceptingInvitationTaskListCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the request. Valid values are:
  • AWS: Retrieves the request from the production AWS environment.
  • Sandbox: Retrieves the request from a sandbox environment used for testing or development + /// purposes.
+ ///
+ ///
+ #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 Catalog { get; set; } + #endregion + + #region Parameter EngagementInvitationIdentifier + /// + /// + /// Filters tasks by the identifiers of the engagement invitations they are processing. + /// + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] EngagementInvitationIdentifier { get; set; } + #endregion + + #region Parameter OpportunityIdentifier + /// + /// + /// Filters tasks by the identifiers of the opportunities they created or are associated + /// with. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] OpportunityIdentifier { get; set; } + #endregion + + #region Parameter Sort_SortBy + /// + /// + /// Specifies the field by which the task list should be sorted. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.ListTasksSortName")] + public Amazon.PartnerCentralSelling.ListTasksSortName Sort_SortBy { get; set; } + #endregion + + #region Parameter Sort_SortOrder + /// + /// + /// Determines the order in which the sorted results are presented. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.SortOrder")] + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + #endregion + + #region Parameter TaskIdentifier + /// + /// + /// Filters tasks by their unique identifiers. Use this when you want to retrieve information + /// about specific tasks. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] TaskIdentifier { get; set; } + #endregion + + #region Parameter TaskStatus + /// + /// + /// Filters the tasks based on their current status. This allows you to focus on tasks + /// in specific states. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] TaskStatus { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// Use this parameter to control the number of items returned in each request, which + /// can be useful for performance tuning and managing large result sets. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// Use this parameter for pagination when the result set spans multiple pages. This + /// value is obtained from the NextToken field in the response of a previous call to this + /// API. + /// + /// + [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 'TaskSummaries'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksResponse 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; } = "TaskSummaries"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Catalog parameter. + /// The -PassThru parameter is deprecated, use -Select '^Catalog' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Catalog' 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.Catalog; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.EngagementInvitationIdentifier != null) + { + context.EngagementInvitationIdentifier = new List(this.EngagementInvitationIdentifier); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + if (this.OpportunityIdentifier != null) + { + context.OpportunityIdentifier = new List(this.OpportunityIdentifier); + } + context.Sort_SortBy = this.Sort_SortBy; + context.Sort_SortOrder = this.Sort_SortOrder; + if (this.TaskIdentifier != null) + { + context.TaskIdentifier = new List(this.TaskIdentifier); + } + if (this.TaskStatus != null) + { + context.TaskStatus = new List(this.TaskStatus); + } + + // 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.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.EngagementInvitationIdentifier != null) + { + request.EngagementInvitationIdentifier = cmdletContext.EngagementInvitationIdentifier; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + if (cmdletContext.OpportunityIdentifier != null) + { + request.OpportunityIdentifier = cmdletContext.OpportunityIdentifier; + } + + // populate Sort + var requestSortIsNull = true; + request.Sort = new Amazon.PartnerCentralSelling.Model.ListTasksSortBase(); + Amazon.PartnerCentralSelling.ListTasksSortName requestSort_sort_SortBy = null; + if (cmdletContext.Sort_SortBy != null) + { + requestSort_sort_SortBy = cmdletContext.Sort_SortBy; + } + if (requestSort_sort_SortBy != null) + { + request.Sort.SortBy = requestSort_sort_SortBy; + requestSortIsNull = false; + } + Amazon.PartnerCentralSelling.SortOrder requestSort_sort_SortOrder = null; + if (cmdletContext.Sort_SortOrder != null) + { + requestSort_sort_SortOrder = cmdletContext.Sort_SortOrder; + } + if (requestSort_sort_SortOrder != null) + { + request.Sort.SortOrder = requestSort_sort_SortOrder; + requestSortIsNull = false; + } + // determine if request.Sort should be set to null + if (requestSortIsNull) + { + request.Sort = null; + } + if (cmdletContext.TaskIdentifier != null) + { + request.TaskIdentifier = cmdletContext.TaskIdentifier; + } + if (cmdletContext.TaskStatus != null) + { + request.TaskStatus = cmdletContext.TaskStatus; + } + + 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.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.ListEngagementByAcceptingInvitationTasksRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "ListEngagementByAcceptingInvitationTasks"); + try + { + #if DESKTOP + return client.ListEngagementByAcceptingInvitationTasks(request); + #elif CORECLR + return client.ListEngagementByAcceptingInvitationTasksAsync(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 Catalog { get; set; } + public List EngagementInvitationIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public List OpportunityIdentifier { get; set; } + public Amazon.PartnerCentralSelling.ListTasksSortName Sort_SortBy { get; set; } + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + public List TaskIdentifier { get; set; } + public List TaskStatus { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.TaskSummaries; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementFromOpportunityTaskList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementFromOpportunityTaskList-Cmdlet.cs new file mode 100644 index 000000000..2b075d1a5 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementFromOpportunityTaskList-Cmdlet.cs @@ -0,0 +1,375 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Lists all in-progress, completed, or failed EngagementFromOpportunity tasks + /// that were initiated by the caller's account. + /// + [Cmdlet("Get", "PCEngagementFromOpportunityTaskList")] + [OutputType("Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTaskSummary")] + [AWSCmdlet("Calls the Partner Central Selling API ListEngagementFromOpportunityTasks API operation.", Operation = new[] {"ListEngagementFromOpportunityTasks"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTaskSummary or Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksResponse", + "This cmdlet returns a collection of Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTaskSummary objects.", + "The service call response (type Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksResponse) can be returned by specifying '-Select *'." + )] + public partial class GetPCEngagementFromOpportunityTaskListCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the request. Valid values are:
  • AWS: Retrieves the request from the production AWS environment.
  • Sandbox: Retrieves the request from a sandbox environment used for testing or development + /// purposes.
+ ///
+ ///
+ #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 Catalog { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// Filters tasks by the identifiers of the engagements they created or are associated + /// with. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] EngagementIdentifier { get; set; } + #endregion + + #region Parameter OpportunityIdentifier + /// + /// + /// The identifier of the original opportunity associated with this task. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] OpportunityIdentifier { get; set; } + #endregion + + #region Parameter Sort_SortBy + /// + /// + /// Specifies the field by which the task list should be sorted. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.ListTasksSortName")] + public Amazon.PartnerCentralSelling.ListTasksSortName Sort_SortBy { get; set; } + #endregion + + #region Parameter Sort_SortOrder + /// + /// + /// Determines the order in which the sorted results are presented. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.SortOrder")] + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + #endregion + + #region Parameter TaskIdentifier + /// + /// + /// Filters tasks by their unique identifiers. Use this when you want to retrieve information + /// about specific tasks. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] TaskIdentifier { get; set; } + #endregion + + #region Parameter TaskStatus + /// + /// + /// Filters the tasks based on their current status. This allows you to focus on tasks + /// in specific states. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] TaskStatus { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// Specifies the maximum number of results to return in a single page of the response.Use + /// this parameter to control the number of items returned in each request, which can + /// be useful for performance tuning and managing large result sets. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// The token for requesting the next page of results. This value is obtained from the + /// NextToken field in the response of a previous call to this API. Use this parameter + /// for pagination when the result set spans multiple pages. + /// + /// + [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 'TaskSummaries'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksResponse 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; } = "TaskSummaries"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Catalog parameter. + /// The -PassThru parameter is deprecated, use -Select '^Catalog' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Catalog' 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.Catalog; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.EngagementIdentifier != null) + { + context.EngagementIdentifier = new List(this.EngagementIdentifier); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + if (this.OpportunityIdentifier != null) + { + context.OpportunityIdentifier = new List(this.OpportunityIdentifier); + } + context.Sort_SortBy = this.Sort_SortBy; + context.Sort_SortOrder = this.Sort_SortOrder; + if (this.TaskIdentifier != null) + { + context.TaskIdentifier = new List(this.TaskIdentifier); + } + if (this.TaskStatus != null) + { + context.TaskStatus = new List(this.TaskStatus); + } + + // 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.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + if (cmdletContext.OpportunityIdentifier != null) + { + request.OpportunityIdentifier = cmdletContext.OpportunityIdentifier; + } + + // populate Sort + var requestSortIsNull = true; + request.Sort = new Amazon.PartnerCentralSelling.Model.ListTasksSortBase(); + Amazon.PartnerCentralSelling.ListTasksSortName requestSort_sort_SortBy = null; + if (cmdletContext.Sort_SortBy != null) + { + requestSort_sort_SortBy = cmdletContext.Sort_SortBy; + } + if (requestSort_sort_SortBy != null) + { + request.Sort.SortBy = requestSort_sort_SortBy; + requestSortIsNull = false; + } + Amazon.PartnerCentralSelling.SortOrder requestSort_sort_SortOrder = null; + if (cmdletContext.Sort_SortOrder != null) + { + requestSort_sort_SortOrder = cmdletContext.Sort_SortOrder; + } + if (requestSort_sort_SortOrder != null) + { + request.Sort.SortOrder = requestSort_sort_SortOrder; + requestSortIsNull = false; + } + // determine if request.Sort should be set to null + if (requestSortIsNull) + { + request.Sort = null; + } + if (cmdletContext.TaskIdentifier != null) + { + request.TaskIdentifier = cmdletContext.TaskIdentifier; + } + if (cmdletContext.TaskStatus != null) + { + request.TaskStatus = cmdletContext.TaskStatus; + } + + 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.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.ListEngagementFromOpportunityTasksRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "ListEngagementFromOpportunityTasks"); + try + { + #if DESKTOP + return client.ListEngagementFromOpportunityTasks(request); + #elif CORECLR + return client.ListEngagementFromOpportunityTasksAsync(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 Catalog { get; set; } + public List EngagementIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public List OpportunityIdentifier { get; set; } + public Amazon.PartnerCentralSelling.ListTasksSortName Sort_SortBy { get; set; } + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + public List TaskIdentifier { get; set; } + public List TaskStatus { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.TaskSummaries; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementInvitationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementInvitationList-Cmdlet.cs index fa75f5020..1cd75840d 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementInvitationList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementInvitationList-Cmdlet.cs @@ -64,6 +64,20 @@ public partial class GetPCEngagementInvitationListCmdlet : AmazonPartnerCentralS public System.String Catalog { get; set; } #endregion + #region Parameter EngagementIdentifier + /// + /// + /// Retrieves a list of engagement invitation summaries based on specified filters. The + /// ListEngagementInvitations operation allows you to view all invitations that you have + /// sent or received. You must specify the ParticipantType to filter invitations where + /// you are either the SENDER or the RECEIVER. Invitations will automatically expire if + /// not accepted within 15 days. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] EngagementIdentifier { get; set; } + #endregion + #region Parameter ParticipantType /// /// @@ -93,6 +107,16 @@ public partial class GetPCEngagementInvitationListCmdlet : AmazonPartnerCentralS public System.String[] PayloadType { get; set; } #endregion + #region Parameter SenderAwsAccountId + /// + /// + /// List of sender AWS account IDs to filter the invitations. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] SenderAwsAccountId { get; set; } + #endregion + #region Parameter Sort_SortBy /// /// @@ -117,6 +141,16 @@ public partial class GetPCEngagementInvitationListCmdlet : AmazonPartnerCentralS public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } #endregion + #region Parameter Status + /// + /// + /// Status values to filter the invitations. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] Status { get; set; } + #endregion + #region Parameter MaxResult /// /// @@ -194,6 +228,10 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter Catalog 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.EngagementIdentifier != null) + { + context.EngagementIdentifier = new List(this.EngagementIdentifier); + } context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; context.ParticipantType = this.ParticipantType; @@ -207,8 +245,16 @@ protected override void ProcessRecord() { context.PayloadType = new List(this.PayloadType); } + if (this.SenderAwsAccountId != null) + { + context.SenderAwsAccountId = new List(this.SenderAwsAccountId); + } context.Sort_SortBy = this.Sort_SortBy; context.Sort_SortOrder = this.Sort_SortOrder; + if (this.Status != null) + { + context.Status = new List(this.Status); + } // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -229,6 +275,10 @@ public object Execute(ExecutorContext context) { request.Catalog = cmdletContext.Catalog; } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } if (cmdletContext.MaxResult != null) { request.MaxResults = cmdletContext.MaxResult.Value; @@ -245,6 +295,10 @@ public object Execute(ExecutorContext context) { request.PayloadType = cmdletContext.PayloadType; } + if (cmdletContext.SenderAwsAccountId != null) + { + request.SenderAwsAccountId = cmdletContext.SenderAwsAccountId; + } // populate Sort var requestSortIsNull = true; @@ -274,6 +328,10 @@ public object Execute(ExecutorContext context) { request.Sort = null; } + if (cmdletContext.Status != null) + { + request.Status = cmdletContext.Status; + } CmdletOutput output; @@ -336,12 +394,15 @@ private Amazon.PartnerCentralSelling.Model.ListEngagementInvitationsResponse Cal internal partial class CmdletContext : ExecutorContext { public System.String Catalog { get; set; } + public List EngagementIdentifier { get; set; } public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } public Amazon.PartnerCentralSelling.ParticipantType ParticipantType { get; set; } public List PayloadType { get; set; } + public List SenderAwsAccountId { get; set; } public Amazon.PartnerCentralSelling.OpportunityEngagementInvitationSortName Sort_SortBy { get; set; } public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + public List Status { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.EngagementInvitationSummaries; } diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementList-Cmdlet.cs new file mode 100644 index 000000000..cc55bc71b --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementList-Cmdlet.cs @@ -0,0 +1,355 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// This action allows users to retrieve a list of engagement records from Partner Central. + /// This action can be used to manage and track various engagements across different stages + /// of the partner selling process. + /// + [Cmdlet("Get", "PCEngagementList")] + [OutputType("Amazon.PartnerCentralSelling.Model.EngagementSummary")] + [AWSCmdlet("Calls the Partner Central Selling API ListEngagements API operation.", Operation = new[] {"ListEngagements"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.ListEngagementsResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.EngagementSummary or Amazon.PartnerCentralSelling.Model.ListEngagementsResponse", + "This cmdlet returns a collection of Amazon.PartnerCentralSelling.Model.EngagementSummary objects.", + "The service call response (type Amazon.PartnerCentralSelling.Model.ListEngagementsResponse) can be returned by specifying '-Select *'." + )] + public partial class GetPCEngagementListCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the 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 Catalog { get; set; } + #endregion + + #region Parameter CreatedBy + /// + /// + /// A list of AWS account IDs. When specified, the response includes engagements created + /// by these accounts. This filter is useful for finding engagements created by specific + /// team members. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] CreatedBy { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// An array of strings representing engagement identifiers to retrieve. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] EngagementIdentifier { get; set; } + #endregion + + #region Parameter ExcludeCreatedBy + /// + /// + /// An array of strings representing AWS Account IDs. Use this to exclude engagements + /// created by specific users. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String[] ExcludeCreatedBy { get; set; } + #endregion + + #region Parameter Sort_SortBy + /// + /// + /// The field by which to sort the results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.EngagementSortName")] + public Amazon.PartnerCentralSelling.EngagementSortName Sort_SortBy { get; set; } + #endregion + + #region Parameter Sort_SortOrder + /// + /// + /// The order in which to sort the results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.SortOrder")] + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to return in a single call. + /// + /// + [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. This value is returned from a previous call. + /// + /// + /// + [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 'EngagementSummaryList'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PartnerCentralSelling.Model.ListEngagementsResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.ListEngagementsResponse 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; } = "EngagementSummaryList"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Catalog parameter. + /// The -PassThru parameter is deprecated, use -Select '^Catalog' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Catalog' 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.Catalog; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.CreatedBy != null) + { + context.CreatedBy = new List(this.CreatedBy); + } + if (this.EngagementIdentifier != null) + { + context.EngagementIdentifier = new List(this.EngagementIdentifier); + } + if (this.ExcludeCreatedBy != null) + { + context.ExcludeCreatedBy = new List(this.ExcludeCreatedBy); + } + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.Sort_SortBy = this.Sort_SortBy; + context.Sort_SortOrder = this.Sort_SortOrder; + + // 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.PartnerCentralSelling.Model.ListEngagementsRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.CreatedBy != null) + { + request.CreatedBy = cmdletContext.CreatedBy; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.ExcludeCreatedBy != null) + { + request.ExcludeCreatedBy = cmdletContext.ExcludeCreatedBy; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + + // populate Sort + var requestSortIsNull = true; + request.Sort = new Amazon.PartnerCentralSelling.Model.EngagementSort(); + Amazon.PartnerCentralSelling.EngagementSortName requestSort_sort_SortBy = null; + if (cmdletContext.Sort_SortBy != null) + { + requestSort_sort_SortBy = cmdletContext.Sort_SortBy; + } + if (requestSort_sort_SortBy != null) + { + request.Sort.SortBy = requestSort_sort_SortBy; + requestSortIsNull = false; + } + Amazon.PartnerCentralSelling.SortOrder requestSort_sort_SortOrder = null; + if (cmdletContext.Sort_SortOrder != null) + { + requestSort_sort_SortOrder = cmdletContext.Sort_SortOrder; + } + if (requestSort_sort_SortOrder != null) + { + request.Sort.SortOrder = requestSort_sort_SortOrder; + requestSortIsNull = false; + } + // determine if request.Sort should be set to null + if (requestSortIsNull) + { + request.Sort = 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.PartnerCentralSelling.Model.ListEngagementsResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.ListEngagementsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "ListEngagements"); + try + { + #if DESKTOP + return client.ListEngagements(request); + #elif CORECLR + return client.ListEngagementsAsync(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 Catalog { get; set; } + public List CreatedBy { get; set; } + public List EngagementIdentifier { get; set; } + public List ExcludeCreatedBy { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public Amazon.PartnerCentralSelling.EngagementSortName Sort_SortBy { get; set; } + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.EngagementSummaryList; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementMemberList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementMemberList-Cmdlet.cs new file mode 100644 index 000000000..1ca189b6f --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementMemberList-Cmdlet.cs @@ -0,0 +1,269 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Retrieves the details of member partners in an engagement. This operation can only + /// be invoked by members of the engagement. The ListEngagementMembers operation + /// allows you to fetch information about the members of a specific engagement. This action + /// is restricted to members of the engagement being queried. + /// + [Cmdlet("Get", "PCEngagementMemberList")] + [OutputType("Amazon.PartnerCentralSelling.Model.EngagementMember")] + [AWSCmdlet("Calls the Partner Central Selling API ListEngagementMembers API operation.", Operation = new[] {"ListEngagementMembers"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.ListEngagementMembersResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.EngagementMember or Amazon.PartnerCentralSelling.Model.ListEngagementMembersResponse", + "This cmdlet returns a collection of Amazon.PartnerCentralSelling.Model.EngagementMember objects.", + "The service call response (type Amazon.PartnerCentralSelling.Model.ListEngagementMembersResponse) can be returned by specifying '-Select *'." + )] + public partial class GetPCEngagementMemberListCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// The catalog related to 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 Catalog { get; set; } + #endregion + + #region Parameter Identifier + /// + /// + /// Identifier of the engagement record to retrieve members 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 Identifier { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to return in a single call. + /// + /// + [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. + /// + /// + [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 'EngagementMemberList'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PartnerCentralSelling.Model.ListEngagementMembersResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.ListEngagementMembersResponse 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; } = "EngagementMemberList"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Identifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^Identifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Identifier' 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.Identifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.Identifier = this.Identifier; + #if MODULAR + if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) + { + 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.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.PartnerCentralSelling.Model.ListEngagementMembersRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.Identifier != null) + { + request.Identifier = cmdletContext.Identifier; + } + 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.PartnerCentralSelling.Model.ListEngagementMembersResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.ListEngagementMembersRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "ListEngagementMembers"); + try + { + #if DESKTOP + return client.ListEngagementMembers(request); + #elif CORECLR + return client.ListEngagementMembersAsync(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 Catalog { get; set; } + public System.String Identifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.EngagementMemberList; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementResourceAssociationList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementResourceAssociationList-Cmdlet.cs new file mode 100644 index 000000000..2567a2f40 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCEngagementResourceAssociationList-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Lists the associations between resources and engagements where the caller is a member + /// and has at least one snapshot in the engagement. + /// + [Cmdlet("Get", "PCEngagementResourceAssociationList")] + [OutputType("Amazon.PartnerCentralSelling.Model.EngagementResourceAssociationSummary")] + [AWSCmdlet("Calls the Partner Central Selling API ListEngagementResourceAssociations API operation.", Operation = new[] {"ListEngagementResourceAssociations"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.ListEngagementResourceAssociationsResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.EngagementResourceAssociationSummary or Amazon.PartnerCentralSelling.Model.ListEngagementResourceAssociationsResponse", + "This cmdlet returns a collection of Amazon.PartnerCentralSelling.Model.EngagementResourceAssociationSummary objects.", + "The service call response (type Amazon.PartnerCentralSelling.Model.ListEngagementResourceAssociationsResponse) can be returned by specifying '-Select *'." + )] + public partial class GetPCEngagementResourceAssociationListCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog in which to search for engagement-resource associations. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter CreatedBy + /// + /// + /// Filters the results to include only associations with resources owned by the specified + /// AWS account. Use this when you want to find associations related to resources owned + /// by a particular account. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String CreatedBy { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// Filters the results to include only associations related to the specified engagement. + /// Use this when you want to find all resources associated with a specific engagement. + /// + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String EngagementIdentifier { get; set; } + #endregion + + #region Parameter ResourceIdentifier + /// + /// + /// Filters the results to include only associations with the specified resource. Varies + /// depending on the resource type. Use this when you want to find all engagements associated + /// with a specific resource. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ResourceIdentifier { get; set; } + #endregion + + #region Parameter ResourceType + /// + /// + /// Filters the results to include only associations with resources of the specified + /// type. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.ResourceType")] + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// Limits the number of results returned in a single call. Use this to control the number + /// of results returned, especially useful for pagination. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxResults")] + public System.Int32? MaxResult { get; set; } + #endregion + + #region Parameter NextToken + /// + /// + /// A token used for pagination of results. Include this token in subsequent requests + /// to retrieve the next set 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 'EngagementResourceAssociationSummaries'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PartnerCentralSelling.Model.ListEngagementResourceAssociationsResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.ListEngagementResourceAssociationsResponse 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; } = "EngagementResourceAssociationSummaries"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Catalog parameter. + /// The -PassThru parameter is deprecated, use -Select '^Catalog' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Catalog' 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.Catalog; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.CreatedBy = this.CreatedBy; + context.EngagementIdentifier = this.EngagementIdentifier; + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.ResourceIdentifier = this.ResourceIdentifier; + context.ResourceType = this.ResourceType; + + // 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.PartnerCentralSelling.Model.ListEngagementResourceAssociationsRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.CreatedBy != null) + { + request.CreatedBy = cmdletContext.CreatedBy; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + if (cmdletContext.ResourceIdentifier != null) + { + request.ResourceIdentifier = cmdletContext.ResourceIdentifier; + } + if (cmdletContext.ResourceType != null) + { + request.ResourceType = cmdletContext.ResourceType; + } + + 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.PartnerCentralSelling.Model.ListEngagementResourceAssociationsResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.ListEngagementResourceAssociationsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "ListEngagementResourceAssociations"); + try + { + #if DESKTOP + return client.ListEngagementResourceAssociations(request); + #elif CORECLR + return client.ListEngagementResourceAssociationsAsync(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 Catalog { get; set; } + public System.String CreatedBy { get; set; } + public System.String EngagementIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String ResourceIdentifier { get; set; } + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.EngagementResourceAssociationSummaries; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunity-Cmdlet.cs index f6282d3ea..152406b13 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunity-Cmdlet.cs @@ -30,11 +30,10 @@ namespace Amazon.PowerShell.Cmdlets.PC /// /// Fetches the Opportunity record from Partner Central by a given Identifier. /// - /// /// /// - /// Use the ListOpportunities action or the event notification (from Amazon EventBridge) - /// to obtain this identifier. + /// Use the ListOpportunities action or the event notification (from Amazon EventBridge) + /// to obtain this identifier. /// /// [Cmdlet("Get", "PCOpportunity")] @@ -53,11 +52,11 @@ public partial class GetPCOpportunityCmdlet : AmazonPartnerCentralSellingClientC #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the opportunity is fetched from. Use AWS to retrieve opportunities /// in the Amazon Web Services catalog, and Sandbox to retrieve opportunities in - /// a secure, isolated testing environment. + /// a secure, isolated testing environment. /// /// #if !MODULAR @@ -74,7 +73,7 @@ public partial class GetPCOpportunityCmdlet : AmazonPartnerCentralSellingClientC #region Parameter Identifier /// /// - /// Read-only, system generated Opportunity unique identifier. + /// Read-only, system generated Opportunity unique identifier. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunityList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunityList-Cmdlet.cs index c67c50e07..68bedd3df 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunityList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCOpportunityList-Cmdlet.cs @@ -30,25 +30,25 @@ namespace Amazon.PowerShell.Cmdlets.PC /// /// This request accepts a list of filters that retrieve opportunity subsets as well as /// sort options. This feature is available to partners from Partner - /// Central using the ListOpportunities API action. + /// Central using the ListOpportunities API action. /// /// /// /// To synchronize your system with Amazon Web Services, only list the opportunities that /// were newly created or updated. We recommend you rely on events emitted by the service /// into your Amazon Web Services account’s Amazon EventBridge default event bus, you - /// can also use the ListOpportunities action. + /// can also use the ListOpportunities action. /// /// We recommend the following approach: ///
  1. /// Find the latest LastModifiedDate that you stored, and only use the values that - /// came from Amazon Web Services. Don’t use values generated by your system. + /// came from Amazon Web Services. Don’t use values generated by your system. ///
  2. /// When you send a ListOpportunities request, submit the date in ISO 8601 format - /// in the AfterLastModifiedDate filter. + /// in the AfterLastModifiedDate filter. ///
  3. /// Amazon Web Services only returns opportunities created or updated on or after that - /// date and time. Use NextToken to iterate over all pages. + /// date and time. Use NextToken to iterate over all pages. ///
///
[Cmdlet("Get", "PCOpportunityList")] @@ -90,11 +90,11 @@ public partial class GetPCOpportunityListCmdlet : AmazonPartnerCentralSellingCli #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the opportunities are listed in. Use AWS for listing real opportunities /// in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated - /// environments. + /// environments. /// /// #if !MODULAR @@ -181,9 +181,9 @@ public partial class GetPCOpportunityListCmdlet : AmazonPartnerCentralSellingCli #region Parameter MaxResult /// /// - /// Specifies the maximum number of results to return in a single call. This limits the + /// Specifies the maximum number of results to return in a single call. This limits the /// number of opportunities returned in the response to avoid providing too many results - /// at once. Default: 20 + /// at once.Default: 20 /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -194,9 +194,8 @@ public partial class GetPCOpportunityListCmdlet : AmazonPartnerCentralSellingCli #region Parameter NextToken /// /// - /// A pagination token used to retrieve the next set of results in subsequent calls. - /// This token is included in the response only if there are additional result pages available. - /// + /// A pagination token used to retrieve the next set of results in subsequent calls. This + /// token is included in the response only if there are additional result pages available. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshot-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshot-Cmdlet.cs new file mode 100644 index 000000000..c6a7ca215 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshot-Cmdlet.cs @@ -0,0 +1,344 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Use this action to retrieve a specific snapshot record. + /// + [Cmdlet("Get", "PCResourceSnapshot")] + [OutputType("Amazon.PartnerCentralSelling.Model.GetResourceSnapshotResponse")] + [AWSCmdlet("Calls the Partner Central Selling API GetResourceSnapshot API operation.", Operation = new[] {"GetResourceSnapshot"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.GetResourceSnapshotResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.GetResourceSnapshotResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.GetResourceSnapshotResponse object containing multiple properties." + )] + public partial class GetPCResourceSnapshotCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the request. Valid values are:
  • AWS: Retrieves the snapshot from the production AWS environment.
  • Sandbox: Retrieves the snapshot from a sandbox environment used for testing or development + /// purposes.
+ ///
+ ///
+ #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 Catalog { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// The unique identifier of the engagement associated with the snapshot. This field links + /// the snapshot to a specific engagement context. + /// + /// + #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 EngagementIdentifier { get; set; } + #endregion + + #region Parameter ResourceIdentifier + /// + /// + /// The unique identifier of the specific resource that was snapshotted. The format and + /// constraints of this identifier depend on the ResourceType specified. For Opportunity + /// type, it will be an opportunity ID + /// + /// + #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 ResourceIdentifier { get; set; } + #endregion + + #region Parameter ResourceSnapshotTemplateIdentifier + /// + /// + /// he name of the template that defines the schema for the snapshot. This template determines + /// which subset of the resource data is included in the snapshot and must correspond + /// to an existing and valid template for the specified ResourceType. + /// + /// + #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 ResourceSnapshotTemplateIdentifier { get; set; } + #endregion + + #region Parameter ResourceType + /// + /// + /// Specifies the type of resource that was snapshotted. This field determines the structure + /// and content of the snapshot payload. Valid value includes:Opportunity: For + /// opportunity-related data. + /// + /// + #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.PartnerCentralSelling.ResourceType")] + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + #endregion + + #region Parameter Revision + /// + /// + /// Specifies which revision of the snapshot to retrieve. If omitted returns the latest + /// revision. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Int32? Revision { 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.PartnerCentralSelling.Model.GetResourceSnapshotResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.GetResourceSnapshotResponse 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 ResourceIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceIdentifier' 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.ResourceIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.EngagementIdentifier = this.EngagementIdentifier; + #if MODULAR + if (this.EngagementIdentifier == null && ParameterWasBound(nameof(this.EngagementIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EngagementIdentifier 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.ResourceIdentifier = this.ResourceIdentifier; + #if MODULAR + if (this.ResourceIdentifier == null && ParameterWasBound(nameof(this.ResourceIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceIdentifier 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.ResourceSnapshotTemplateIdentifier = this.ResourceSnapshotTemplateIdentifier; + #if MODULAR + if (this.ResourceSnapshotTemplateIdentifier == null && ParameterWasBound(nameof(this.ResourceSnapshotTemplateIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceSnapshotTemplateIdentifier 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.ResourceType = this.ResourceType; + #if MODULAR + if (this.ResourceType == null && ParameterWasBound(nameof(this.ResourceType))) + { + WriteWarning("You are passing $null as a value for parameter ResourceType 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.Revision = this.Revision; + + // 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.PartnerCentralSelling.Model.GetResourceSnapshotRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.ResourceIdentifier != null) + { + request.ResourceIdentifier = cmdletContext.ResourceIdentifier; + } + if (cmdletContext.ResourceSnapshotTemplateIdentifier != null) + { + request.ResourceSnapshotTemplateIdentifier = cmdletContext.ResourceSnapshotTemplateIdentifier; + } + if (cmdletContext.ResourceType != null) + { + request.ResourceType = cmdletContext.ResourceType; + } + if (cmdletContext.Revision != null) + { + request.Revision = cmdletContext.Revision.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.PartnerCentralSelling.Model.GetResourceSnapshotResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.GetResourceSnapshotRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "GetResourceSnapshot"); + try + { + #if DESKTOP + return client.GetResourceSnapshot(request); + #elif CORECLR + return client.GetResourceSnapshotAsync(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 Catalog { get; set; } + public System.String EngagementIdentifier { get; set; } + public System.String ResourceIdentifier { get; set; } + public System.String ResourceSnapshotTemplateIdentifier { get; set; } + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + public System.Int32? Revision { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJob-Cmdlet.cs new file mode 100644 index 000000000..16606d0ce --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJob-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Use this action to retrieves information about a specific resource snapshot job. + /// + [Cmdlet("Get", "PCResourceSnapshotJob")] + [OutputType("Amazon.PartnerCentralSelling.Model.GetResourceSnapshotJobResponse")] + [AWSCmdlet("Calls the Partner Central Selling API GetResourceSnapshotJob API operation.", Operation = new[] {"GetResourceSnapshotJob"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.GetResourceSnapshotJobResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.GetResourceSnapshotJobResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.GetResourceSnapshotJobResponse object containing multiple properties." + )] + public partial class GetPCResourceSnapshotJobCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the request. Valid values are:
  • AWS: Retrieves the snapshot job from the production AWS environment.
  • Sandbox: Retrieves the snapshot job from a sandbox environment used for testing or + /// development purposes.
+ ///
+ ///
+ #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 Catalog { get; set; } + #endregion + + #region Parameter ResourceSnapshotJobIdentifier + /// + /// + /// The unique identifier of the resource snapshot job to be retrieved. This identifier + /// is crucial for pinpointing the specific job you want to query. + /// + /// + #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 ResourceSnapshotJobIdentifier { 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.PartnerCentralSelling.Model.GetResourceSnapshotJobResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.GetResourceSnapshotJobResponse 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 ResourceSnapshotJobIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' 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.ResourceSnapshotJobIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ResourceSnapshotJobIdentifier = this.ResourceSnapshotJobIdentifier; + #if MODULAR + if (this.ResourceSnapshotJobIdentifier == null && ParameterWasBound(nameof(this.ResourceSnapshotJobIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceSnapshotJobIdentifier 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.PartnerCentralSelling.Model.GetResourceSnapshotJobRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ResourceSnapshotJobIdentifier != null) + { + request.ResourceSnapshotJobIdentifier = cmdletContext.ResourceSnapshotJobIdentifier; + } + + 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.PartnerCentralSelling.Model.GetResourceSnapshotJobResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.GetResourceSnapshotJobRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "GetResourceSnapshotJob"); + try + { + #if DESKTOP + return client.GetResourceSnapshotJob(request); + #elif CORECLR + return client.GetResourceSnapshotJobAsync(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 Catalog { get; set; } + public System.String ResourceSnapshotJobIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJobList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJobList-Cmdlet.cs new file mode 100644 index 000000000..37345a32c --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotJobList-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Lists resource snapshot jobs owned by the customer. This operation supports various + /// filtering scenarios, including listing all jobs owned by the caller, jobs for a specific + /// engagement, jobs with a specific status, or any combination of these filters. + /// + [Cmdlet("Get", "PCResourceSnapshotJobList")] + [OutputType("Amazon.PartnerCentralSelling.Model.ResourceSnapshotJobSummary")] + [AWSCmdlet("Calls the Partner Central Selling API ListResourceSnapshotJobs API operation.", Operation = new[] {"ListResourceSnapshotJobs"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.ListResourceSnapshotJobsResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.ResourceSnapshotJobSummary or Amazon.PartnerCentralSelling.Model.ListResourceSnapshotJobsResponse", + "This cmdlet returns a collection of Amazon.PartnerCentralSelling.Model.ResourceSnapshotJobSummary objects.", + "The service call response (type Amazon.PartnerCentralSelling.Model.ListResourceSnapshotJobsResponse) can be returned by specifying '-Select *'." + )] + public partial class GetPCResourceSnapshotJobListCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the 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 Catalog { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// The identifier of the engagement to filter the response. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String EngagementIdentifier { get; set; } + #endregion + + #region Parameter Sort_SortBy + /// + /// + /// Specifies the field by which to sort the resource snapshot jobs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.SortBy")] + public Amazon.PartnerCentralSelling.SortBy Sort_SortBy { get; set; } + #endregion + + #region Parameter Sort_SortOrder + /// + /// + /// Determines the order in which the sorted results are presented. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.SortOrder")] + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + #endregion + + #region Parameter Status + /// + /// + /// The status of the jobs to filter the response. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.ResourceSnapshotJobStatus")] + public Amazon.PartnerCentralSelling.ResourceSnapshotJobStatus Status { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to return in a single call. If omitted, defaults to + /// 50. + /// + /// + [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. + /// + /// + [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 'ResourceSnapshotJobSummaries'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PartnerCentralSelling.Model.ListResourceSnapshotJobsResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.ListResourceSnapshotJobsResponse 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; } = "ResourceSnapshotJobSummaries"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Catalog parameter. + /// The -PassThru parameter is deprecated, use -Select '^Catalog' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Catalog' 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.Catalog; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.EngagementIdentifier = this.EngagementIdentifier; + context.MaxResult = this.MaxResult; + context.NextToken = this.NextToken; + context.Sort_SortBy = this.Sort_SortBy; + context.Sort_SortOrder = this.Sort_SortOrder; + context.Status = this.Status; + + // 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.PartnerCentralSelling.Model.ListResourceSnapshotJobsRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + + // populate Sort + var requestSortIsNull = true; + request.Sort = new Amazon.PartnerCentralSelling.Model.SortObject(); + Amazon.PartnerCentralSelling.SortBy requestSort_sort_SortBy = null; + if (cmdletContext.Sort_SortBy != null) + { + requestSort_sort_SortBy = cmdletContext.Sort_SortBy; + } + if (requestSort_sort_SortBy != null) + { + request.Sort.SortBy = requestSort_sort_SortBy; + requestSortIsNull = false; + } + Amazon.PartnerCentralSelling.SortOrder requestSort_sort_SortOrder = null; + if (cmdletContext.Sort_SortOrder != null) + { + requestSort_sort_SortOrder = cmdletContext.Sort_SortOrder; + } + if (requestSort_sort_SortOrder != null) + { + request.Sort.SortOrder = requestSort_sort_SortOrder; + requestSortIsNull = false; + } + // determine if request.Sort should be set to null + if (requestSortIsNull) + { + request.Sort = null; + } + if (cmdletContext.Status != null) + { + request.Status = cmdletContext.Status; + } + + 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.PartnerCentralSelling.Model.ListResourceSnapshotJobsResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.ListResourceSnapshotJobsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "ListResourceSnapshotJobs"); + try + { + #if DESKTOP + return client.ListResourceSnapshotJobs(request); + #elif CORECLR + return client.ListResourceSnapshotJobsAsync(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 Catalog { get; set; } + public System.String EngagementIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public Amazon.PartnerCentralSelling.SortBy Sort_SortBy { get; set; } + public Amazon.PartnerCentralSelling.SortOrder Sort_SortOrder { get; set; } + public Amazon.PartnerCentralSelling.ResourceSnapshotJobStatus Status { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ResourceSnapshotJobSummaries; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotList-Cmdlet.cs new file mode 100644 index 000000000..08889938d --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCResourceSnapshotList-Cmdlet.cs @@ -0,0 +1,335 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Retrieves a list of resource view snapshots based on specified criteria. + /// + [Cmdlet("Get", "PCResourceSnapshotList")] + [OutputType("Amazon.PartnerCentralSelling.Model.ResourceSnapshotSummary")] + [AWSCmdlet("Calls the Partner Central Selling API ListResourceSnapshots API operation.", Operation = new[] {"ListResourceSnapshots"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.ListResourceSnapshotsResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.ResourceSnapshotSummary or Amazon.PartnerCentralSelling.Model.ListResourceSnapshotsResponse", + "This cmdlet returns a collection of Amazon.PartnerCentralSelling.Model.ResourceSnapshotSummary objects.", + "The service call response (type Amazon.PartnerCentralSelling.Model.ListResourceSnapshotsResponse) can be returned by specifying '-Select *'." + )] + public partial class GetPCResourceSnapshotListCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsSensitiveResponse { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to 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 Catalog { get; set; } + #endregion + + #region Parameter CreatedBy + /// + /// + /// Filters the response to include only snapshots of resources created by the specified + /// AWS account. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String CreatedBy { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// The unique identifier of the engagement associated with the snapshots. + /// + /// + #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 EngagementIdentifier { get; set; } + #endregion + + #region Parameter ResourceIdentifier + /// + /// + /// Filters the response to include only snapshots of the specified resource. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ResourceIdentifier { get; set; } + #endregion + + #region Parameter ResourceSnapshotTemplateIdentifier + /// + /// + /// Filters the response to include only snapshots created using the specified template. + /// + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ResourceSnapshotTemplateIdentifier { get; set; } + #endregion + + #region Parameter ResourceType + /// + /// + /// Filters the response to include only snapshots of the specified resource type. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.ResourceType")] + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + #endregion + + #region Parameter MaxResult + /// + /// + /// The maximum number of results to return in a single call. + /// + /// + [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. + /// + /// + [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 'ResourceSnapshotSummaries'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PartnerCentralSelling.Model.ListResourceSnapshotsResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.ListResourceSnapshotsResponse 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; } = "ResourceSnapshotSummaries"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the EngagementIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^EngagementIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^EngagementIdentifier' 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.EngagementIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.CreatedBy = this.CreatedBy; + context.EngagementIdentifier = this.EngagementIdentifier; + #if MODULAR + if (this.EngagementIdentifier == null && ParameterWasBound(nameof(this.EngagementIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EngagementIdentifier 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.ResourceIdentifier = this.ResourceIdentifier; + context.ResourceSnapshotTemplateIdentifier = this.ResourceSnapshotTemplateIdentifier; + context.ResourceType = this.ResourceType; + + // 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.PartnerCentralSelling.Model.ListResourceSnapshotsRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.CreatedBy != null) + { + request.CreatedBy = cmdletContext.CreatedBy; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.MaxResult != null) + { + request.MaxResults = cmdletContext.MaxResult.Value; + } + if (cmdletContext.NextToken != null) + { + request.NextToken = cmdletContext.NextToken; + } + if (cmdletContext.ResourceIdentifier != null) + { + request.ResourceIdentifier = cmdletContext.ResourceIdentifier; + } + if (cmdletContext.ResourceSnapshotTemplateIdentifier != null) + { + request.ResourceSnapshotTemplateIdentifier = cmdletContext.ResourceSnapshotTemplateIdentifier; + } + if (cmdletContext.ResourceType != null) + { + request.ResourceType = cmdletContext.ResourceType; + } + + 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.PartnerCentralSelling.Model.ListResourceSnapshotsResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.ListResourceSnapshotsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "ListResourceSnapshots"); + try + { + #if DESKTOP + return client.ListResourceSnapshots(request); + #elif CORECLR + return client.ListResourceSnapshotsAsync(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 Catalog { get; set; } + public System.String CreatedBy { get; set; } + public System.String EngagementIdentifier { get; set; } + public System.Int32? MaxResult { get; set; } + public System.String NextToken { get; set; } + public System.String ResourceIdentifier { get; set; } + public System.String ResourceSnapshotTemplateIdentifier { get; set; } + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.ResourceSnapshotSummaries; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSellingSystemSetting-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSellingSystemSetting-Cmdlet.cs new file mode 100644 index 000000000..efae064e7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSellingSystemSetting-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Retrieves the currently set system settings, which include the IAM Role used for resource + /// snapshot jobs. + /// + [Cmdlet("Get", "PCSellingSystemSetting")] + [OutputType("Amazon.PartnerCentralSelling.Model.GetSellingSystemSettingsResponse")] + [AWSCmdlet("Calls the Partner Central Selling API GetSellingSystemSettings API operation.", Operation = new[] {"GetSellingSystemSettings"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.GetSellingSystemSettingsResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.GetSellingSystemSettingsResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.GetSellingSystemSettingsResponse object containing multiple properties." + )] + public partial class GetPCSellingSystemSettingCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog in which the settings are defined. Acceptable values include + /// AWS for production and Sandbox for testing environments. + /// + /// + #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 Catalog { 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.PartnerCentralSelling.Model.GetSellingSystemSettingsResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.GetSellingSystemSettingsResponse 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 Catalog parameter. + /// The -PassThru parameter is deprecated, use -Select '^Catalog' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Catalog' 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.Catalog; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.PartnerCentralSelling.Model.GetSellingSystemSettingsRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + + 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.PartnerCentralSelling.Model.GetSellingSystemSettingsResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.GetSellingSystemSettingsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "GetSellingSystemSettings"); + try + { + #if DESKTOP + return client.GetSellingSystemSettings(request); + #elif CORECLR + return client.GetSellingSystemSettingsAsync(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 Catalog { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSolutionList-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSolutionList-Cmdlet.cs index dddd330df..15ed5516b 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSolutionList-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Get-PCSolutionList-Cmdlet.cs @@ -47,11 +47,11 @@ public partial class GetPCSolutionListCmdlet : AmazonPartnerCentralSellingClient #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the solutions are listed in. Use AWS to list solutions in the Amazon /// Web Services catalog, and Sandbox to list solutions in a secure and isolated - /// testing environment. + /// testing environment. /// /// #if !MODULAR @@ -91,8 +91,7 @@ public partial class GetPCSolutionListCmdlet : AmazonPartnerCentralSellingClient #region Parameter Sort_SortBy /// /// - /// Specifies the attribute to sort by, such as Name, CreatedDate, or Status. - /// + /// Specifies the attribute to sort by, such as Name, CreatedDate, or Status. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -103,8 +102,8 @@ public partial class GetPCSolutionListCmdlet : AmazonPartnerCentralSellingClient #region Parameter Sort_SortOrder /// /// - /// Specifies the sorting order, either Ascending or Descending. The default - /// is Descending. + /// Specifies the sorting order, either Ascending or Descending. The default + /// is Descending. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -127,7 +126,7 @@ public partial class GetPCSolutionListCmdlet : AmazonPartnerCentralSellingClient /// /// /// The maximum number of results returned by a single call. This value must be provided - /// in the next call to retrieve the next set of results. Default: 20 + /// in the next call to retrieve the next set of results.Default: 20 /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -138,9 +137,8 @@ public partial class GetPCSolutionListCmdlet : AmazonPartnerCentralSellingClient #region Parameter NextToken /// /// - /// A pagination token used to retrieve the next set of results in subsequent calls. - /// This token is included in the response only if there are additional result pages available. - /// + /// A pagination token used to retrieve the next set of results in subsequent calls. This + /// token is included in the response only if there are additional result pages available. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAcceptEngagementInvitation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAcceptEngagementInvitation-Cmdlet.cs new file mode 100644 index 000000000..84237506b --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAcceptEngagementInvitation-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Use the AcceptEngagementInvitation action to accept an engagement invitation + /// shared by AWS. Accepting the invitation indicates your willingness to participate + /// in the engagement, granting you access to all engagement-related data. + /// + [Cmdlet("Invoke", "PCAcceptEngagementInvitation", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the Partner Central Selling API AcceptEngagementInvitation API operation.", Operation = new[] {"AcceptEngagementInvitation"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.AcceptEngagementInvitationResponse))] + [AWSCmdletOutput("None or Amazon.PartnerCentralSelling.Model.AcceptEngagementInvitationResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.PartnerCentralSelling.Model.AcceptEngagementInvitationResponse) be returned by specifying '-Select *'." + )] + public partial class InvokePCAcceptEngagementInvitationCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// The CatalogType parameter specifies the catalog associated with the engagement + /// invitation. Accepted values are AWS and Sandbox, which determine the + /// environment in which the engagement invitation is managed. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter Identifier + /// + /// + /// The Identifier parameter in the AcceptEngagementInvitationRequest specifies + /// the unique identifier of the EngagementInvitation to be accepted. Providing + /// the correct identifier ensures that the intended invitation is accepted. + /// + /// + #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 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.PartnerCentralSelling.Model.AcceptEngagementInvitationResponse). + /// 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 Identifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^Identifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Identifier' 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.Identifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Invoke-PCAcceptEngagementInvitation (AcceptEngagementInvitation)")) + { + 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.Identifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.Identifier = this.Identifier; + #if MODULAR + if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) + { + 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 + + // 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.PartnerCentralSelling.Model.AcceptEngagementInvitationRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.Identifier != null) + { + request.Identifier = cmdletContext.Identifier; + } + + 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.PartnerCentralSelling.Model.AcceptEngagementInvitationResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.AcceptEngagementInvitationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "AcceptEngagementInvitation"); + try + { + #if DESKTOP + return client.AcceptEngagementInvitation(request); + #elif CORECLR + return client.AcceptEngagementInvitationAsync(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 Catalog { get; set; } + public System.String Identifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssignOpportunity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssignOpportunity-Cmdlet.cs index 8306b7414..28e1d5053 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssignOpportunity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssignOpportunity-Cmdlet.cs @@ -31,14 +31,14 @@ namespace Amazon.PowerShell.Cmdlets.PC /// Enables you to reassign an existing Opportunity to another user within your /// Partner Central account. The specified user receives the opportunity, and it appears /// on their Partner Central dashboard, allowing them to take necessary actions or proceed - /// with the opportunity. + /// with the opportunity. /// /// /// - /// This is useful for distributing opportunities to the appropriate team members or - /// departments within your organization, ensuring that each opportunity is handled by - /// the right person. By default, the opportunity owner is the one who creates it. Currently, - /// there's no API to enumerate the list of available users. + /// This is useful for distributing opportunities to the appropriate team members or departments + /// within your organization, ensuring that each opportunity is handled by the right person. + /// By default, the opportunity owner is the one who creates it. Currently, there's no + /// API to enumerate the list of available users. /// ///
[Cmdlet("Invoke", "PCAssignOpportunity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -77,11 +77,11 @@ public partial class InvokePCAssignOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the opportunity is assigned in. Use AWS to assign real opportunities /// in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated - /// environments. + /// environments. /// /// #if !MODULAR @@ -134,9 +134,8 @@ public partial class InvokePCAssignOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Identifier /// /// - /// Requires the Opportunity's unique identifier when you want to assign it to - /// another user. Provide the correct identifier so the intended opportunity is reassigned. - /// + /// Requires the Opportunity's unique identifier when you want to assign it to + /// another user. Provide the correct identifier so the intended opportunity is reassigned. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssociateOpportunity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssociateOpportunity-Cmdlet.cs index db3dbce1d..4d56014fe 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssociateOpportunity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCAssociateOpportunity-Cmdlet.cs @@ -31,37 +31,36 @@ namespace Amazon.PowerShell.Cmdlets.PC /// Enables you to create a formal association between an Opportunity and various /// related entities, enriching the context and details of the opportunity for better /// collaboration and decision making. You can associate an opportunity with the following - /// entity types: + /// entity types: /// ///
  • - /// Partner Solution: A software product or consulting practice created and delivered + /// Partner Solution: A software product or consulting practice created and delivered /// by Partners. Partner Solutions help customers address business challenges using Amazon - /// Web Services services. + /// Web Services services. ///
  • - /// Amazon Web Services Products: Amazon Web Services offers many products and services + /// Amazon Web Services Products: Amazon Web Services offers many products and services /// that provide scalable, reliable, and cost-effective infrastructure solutions. For /// the latest list of Amazon Web Services products, see Amazon - /// Web Services products. + /// Web Services products. ///
  • - /// Amazon Web Services Marketplace private offer: Allows Amazon Web Services Marketplace + /// Amazon Web Services Marketplace private offer: Allows Amazon Web Services Marketplace /// sellers to extend custom pricing and terms to individual Amazon Web Services customers. /// Sellers can negotiate custom prices, payment schedules, and end user license terms /// through private offers, enabling Amazon Web Services customers to acquire software /// solutions tailored to their specific needs. For more information, see Private - /// offers in Amazon Web Services Marketplace. + /// offers in Amazon Web Services Marketplace. ///
/// To obtain identifiers for these entities, use the following methods: /// ///
[Cmdlet("Invoke", "PCAssociateOpportunity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -79,11 +78,11 @@ public partial class InvokePCAssociateOpportunityCmdlet : AmazonPartnerCentralSe #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the opportunity association is made in. Use AWS to associate opportunities /// in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated - /// environments. + /// environments. /// /// #if !MODULAR @@ -102,7 +101,7 @@ public partial class InvokePCAssociateOpportunityCmdlet : AmazonPartnerCentralSe /// /// Requires the Opportunity's unique identifier when you want to associate it /// with a related entity. Provide the correct identifier so the intended opportunity - /// is updated with the association. + /// is updated with the association. ///
///
#if !MODULAR @@ -122,7 +121,7 @@ public partial class InvokePCAssociateOpportunityCmdlet : AmazonPartnerCentralSe /// Requires the related entity's unique identifier when you want to associate it with /// the Opportunity. For Amazon Web Services Marketplace entities, provide the /// Amazon Resource Name (ARN). Use the - /// Amazon Web Services Marketplace API to obtain the ARN. + /// Amazon Web Services Marketplace API to obtain the ARN. /// /// #if !MODULAR @@ -140,7 +139,7 @@ public partial class InvokePCAssociateOpportunityCmdlet : AmazonPartnerCentralSe /// /// /// Specifies the entity type that you're associating with the Opportunity. This - /// helps to categorize and properly process the association. + /// helps to categorize and properly process the association. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagement-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagement-Cmdlet.cs new file mode 100644 index 000000000..511fde1fd --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagement-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// The CreateEngagement action allows you to create an Engagement, which + /// serves as a collaborative space between different parties such as AWS Partners and + /// AWS Sellers. This action automatically adds the caller's AWS account as an active + /// member of the newly created Engagement. + /// + [Cmdlet("Invoke", "PCCreateEngagement", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PartnerCentralSelling.Model.CreateEngagementResponse")] + [AWSCmdlet("Calls the Partner Central Selling API CreateEngagement API operation.", Operation = new[] {"CreateEngagement"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.CreateEngagementResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.CreateEngagementResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.CreateEngagementResponse object containing multiple properties." + )] + public partial class InvokePCCreateEngagementCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// The CreateEngagementRequest$Catalog parameter specifies the catalog related + /// to the engagement. Accepted values are AWS and Sandbox, which determine + /// the environment in which the engagement is managed. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter Context + /// + /// + /// The Contexts field is a required array of objects, with a maximum of 5 contexts + /// allowed, specifying detailed information about customer projects associated with the + /// Engagement. Each context object contains a Type field indicating the context + /// type, which must be CustomerProject in this version, and a Payload field + /// containing the CustomerProject details. The CustomerProject object is + /// composed of two main components: Customer and Project. The Customer + /// object includes information such as CompanyName, WebsiteUrl, Industry, + /// and CountryCode, providing essential details about the customer. The Project + /// object contains Title, BusinessProblem, and TargetCompletionDate, + /// offering insights into the specific project associated with the customer. This structure + /// allows comprehensive context to be included within the Engagement, facilitating effective + /// collaboration between parties by providing relevant customer and project information. + /// + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Contexts")] + public Amazon.PartnerCentralSelling.Model.EngagementContextDetails[] Context { get; set; } + #endregion + + #region Parameter Description + /// + /// + /// Provides a description of the Engagement. + /// + /// + #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 Description { get; set; } + #endregion + + #region Parameter Title + /// + /// + /// Specifies the title of the Engagement. + /// + /// + #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 Title { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// The CreateEngagementRequest$ClientToken parameter specifies a unique, case-sensitive + /// identifier to ensure that the request is handled exactly once. The value must not + /// exceed sixty-four alphanumeric characters. + /// + /// + [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.PartnerCentralSelling.Model.CreateEngagementResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.CreateEngagementResponse 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 Title parameter. + /// The -PassThru parameter is deprecated, use -Select '^Title' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Title' 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.Title), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Invoke-PCCreateEngagement (CreateEngagement)")) + { + 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.Title; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ClientToken = this.ClientToken; + if (this.Context != null) + { + context.Context = new List(this.Context); + } + context.Description = this.Description; + #if MODULAR + if (this.Description == null && ParameterWasBound(nameof(this.Description))) + { + WriteWarning("You are passing $null as a value for parameter Description 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.Title = this.Title; + #if MODULAR + if (this.Title == null && ParameterWasBound(nameof(this.Title))) + { + WriteWarning("You are passing $null as a value for parameter Title 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.PartnerCentralSelling.Model.CreateEngagementRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.Context != null) + { + request.Contexts = cmdletContext.Context; + } + if (cmdletContext.Description != null) + { + request.Description = cmdletContext.Description; + } + if (cmdletContext.Title != null) + { + request.Title = cmdletContext.Title; + } + + 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.PartnerCentralSelling.Model.CreateEngagementResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.CreateEngagementRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "CreateEngagement"); + try + { + #if DESKTOP + return client.CreateEngagement(request); + #elif CORECLR + return client.CreateEngagementAsync(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 Catalog { get; set; } + public System.String ClientToken { get; set; } + public List Context { get; set; } + public System.String Description { get; set; } + public System.String Title { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagementInvitation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagementInvitation-Cmdlet.cs new file mode 100644 index 000000000..01d57a703 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateEngagementInvitation-Cmdlet.cs @@ -0,0 +1,702 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// This action creates an invitation from a sender to a single receiver to join an engagement. + /// + [Cmdlet("Invoke", "PCCreateEngagementInvitation", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PartnerCentralSelling.Model.CreateEngagementInvitationResponse")] + [AWSCmdlet("Calls the Partner Central Selling API CreateEngagementInvitation API operation.", Operation = new[] {"CreateEngagementInvitation"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.CreateEngagementInvitationResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.CreateEngagementInvitationResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.CreateEngagementInvitationResponse object containing multiple properties." + )] + public partial class InvokePCCreateEngagementInvitationCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsSensitiveRequest { get; set; } = true; + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Account_Alias + /// + /// + /// Represents the alias of the partner account receiving the Engagement Invitation, making + /// it easier to identify and track the recipient in reports or logs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Receiver_Account_Alias")] + public System.String Account_Alias { get; set; } + #endregion + + #region Parameter Account_AwsAccountId + /// + /// + /// Indicates the AWS account ID of the partner who received the Engagement Invitation. + /// This is a unique identifier for managing engagements with specific AWS accounts. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Receiver_Account_AwsAccountId")] + public System.String Account_AwsAccountId { get; set; } + #endregion + + #region Parameter Project_BusinessProblem + /// + /// + /// Describes the business problem that the project aims to solve. This information is + /// crucial for understanding the project’s goals and objectives. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Project_BusinessProblem")] + public System.String Project_BusinessProblem { get; set; } + #endregion + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to the engagement. Accepted values are AWS and + /// Sandbox, which determine the environment in which the engagement is managed. + /// + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter Customer_CompanyName + /// + /// + /// Represents the name of the customer’s company associated with the Engagement Invitation. + /// This field is used to identify the customer. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Customer_CompanyName")] + public System.String Customer_CompanyName { get; set; } + #endregion + + #region Parameter Customer_CountryCode + /// + /// + /// Indicates the country in which the customer’s company operates. This field is useful + /// for understanding regional requirements or compliance needs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Customer_CountryCode")] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.CountryCode")] + public Amazon.PartnerCentralSelling.CountryCode Customer_CountryCode { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// The unique identifier of the Engagement associated with the invitation. This + /// parameter ensures the invitation is created within the correct Engagement context. + /// + /// + /// + #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 EngagementIdentifier { get; set; } + #endregion + + #region Parameter Project_ExpectedCustomerSpend + /// + /// + /// Contains revenue estimates for the partner related to the project. This field provides + /// an idea of the financial potential of the opportunity for the partner. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Project_ExpectedCustomerSpend")] + public Amazon.PartnerCentralSelling.Model.ExpectedCustomerSpend[] Project_ExpectedCustomerSpend { get; set; } + #endregion + + #region Parameter Customer_Industry + /// + /// + /// Specifies the industry to which the customer’s company belongs. This field helps categorize + /// the opportunity based on the customer’s business sector. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Customer_Industry")] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.Industry")] + public Amazon.PartnerCentralSelling.Industry Customer_Industry { get; set; } + #endregion + + #region Parameter Invitation_Message + /// + /// + /// A message accompanying the invitation. + /// + /// + #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 Invitation_Message { get; set; } + #endregion + + #region Parameter OpportunityInvitation_ReceiverResponsibility + /// + /// + /// Outlines the responsibilities or expectations of the receiver in the context of the + /// invitation. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_ReceiverResponsibilities")] + public System.String[] OpportunityInvitation_ReceiverResponsibility { get; set; } + #endregion + + #region Parameter OpportunityInvitation_SenderContact + /// + /// + /// Represents the contact details of the AWS representatives involved in sending the + /// Engagement Invitation. These contacts are opportunity stakeholders. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_SenderContacts")] + public Amazon.PartnerCentralSelling.Model.SenderContact[] OpportunityInvitation_SenderContact { get; set; } + #endregion + + #region Parameter Project_TargetCompletionDate + /// + /// + /// Specifies the estimated date of project completion. This field helps track the project + /// timeline and manage expectations. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Project_TargetCompletionDate")] + public System.String Project_TargetCompletionDate { get; set; } + #endregion + + #region Parameter Project_Title + /// + /// + /// Specifies the title of the project. This title helps partners quickly identify and + /// understand the focus of the project. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Project_Title")] + public System.String Project_Title { get; set; } + #endregion + + #region Parameter Customer_WebsiteUrl + /// + /// + /// Provides the website URL of the customer’s company. This field helps partners verify + /// the legitimacy and size of the customer organization. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Invitation_Payload_OpportunityInvitation_Customer_WebsiteUrl")] + public System.String Customer_WebsiteUrl { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// Specifies a unique, client-generated UUID to ensure that the request is handled exactly + /// once. This token helps prevent duplicate invitation creations. + /// + /// + [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.PartnerCentralSelling.Model.CreateEngagementInvitationResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.CreateEngagementInvitationResponse 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 EngagementIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^EngagementIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^EngagementIdentifier' 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.EngagementIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Invoke-PCCreateEngagementInvitation (CreateEngagementInvitation)")) + { + 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.EngagementIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ClientToken = this.ClientToken; + context.EngagementIdentifier = this.EngagementIdentifier; + #if MODULAR + if (this.EngagementIdentifier == null && ParameterWasBound(nameof(this.EngagementIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EngagementIdentifier 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.Invitation_Message = this.Invitation_Message; + #if MODULAR + if (this.Invitation_Message == null && ParameterWasBound(nameof(this.Invitation_Message))) + { + WriteWarning("You are passing $null as a value for parameter Invitation_Message 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.Customer_CompanyName = this.Customer_CompanyName; + context.Customer_CountryCode = this.Customer_CountryCode; + context.Customer_Industry = this.Customer_Industry; + context.Customer_WebsiteUrl = this.Customer_WebsiteUrl; + context.Project_BusinessProblem = this.Project_BusinessProblem; + if (this.Project_ExpectedCustomerSpend != null) + { + context.Project_ExpectedCustomerSpend = new List(this.Project_ExpectedCustomerSpend); + } + context.Project_TargetCompletionDate = this.Project_TargetCompletionDate; + context.Project_Title = this.Project_Title; + if (this.OpportunityInvitation_ReceiverResponsibility != null) + { + context.OpportunityInvitation_ReceiverResponsibility = new List(this.OpportunityInvitation_ReceiverResponsibility); + } + if (this.OpportunityInvitation_SenderContact != null) + { + context.OpportunityInvitation_SenderContact = new List(this.OpportunityInvitation_SenderContact); + } + context.Account_Alias = this.Account_Alias; + context.Account_AwsAccountId = this.Account_AwsAccountId; + + // 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.PartnerCentralSelling.Model.CreateEngagementInvitationRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + + // populate Invitation + var requestInvitationIsNull = true; + request.Invitation = new Amazon.PartnerCentralSelling.Model.Invitation(); + System.String requestInvitation_invitation_Message = null; + if (cmdletContext.Invitation_Message != null) + { + requestInvitation_invitation_Message = cmdletContext.Invitation_Message; + } + if (requestInvitation_invitation_Message != null) + { + request.Invitation.Message = requestInvitation_invitation_Message; + requestInvitationIsNull = false; + } + Amazon.PartnerCentralSelling.Model.Payload requestInvitation_invitation_Payload = null; + + // populate Payload + var requestInvitation_invitation_PayloadIsNull = true; + requestInvitation_invitation_Payload = new Amazon.PartnerCentralSelling.Model.Payload(); + Amazon.PartnerCentralSelling.Model.OpportunityInvitationPayload requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation = null; + + // populate OpportunityInvitation + var requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitationIsNull = true; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation = new Amazon.PartnerCentralSelling.Model.OpportunityInvitationPayload(); + List requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_ReceiverResponsibility = null; + if (cmdletContext.OpportunityInvitation_ReceiverResponsibility != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_ReceiverResponsibility = cmdletContext.OpportunityInvitation_ReceiverResponsibility; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_ReceiverResponsibility != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation.ReceiverResponsibilities = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_ReceiverResponsibility; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitationIsNull = false; + } + List requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_SenderContact = null; + if (cmdletContext.OpportunityInvitation_SenderContact != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_SenderContact = cmdletContext.OpportunityInvitation_SenderContact; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_SenderContact != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation.SenderContacts = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_opportunityInvitation_SenderContact; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitationIsNull = false; + } + Amazon.PartnerCentralSelling.Model.EngagementCustomer requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer = null; + + // populate Customer + var requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_CustomerIsNull = true; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer = new Amazon.PartnerCentralSelling.Model.EngagementCustomer(); + System.String requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CompanyName = null; + if (cmdletContext.Customer_CompanyName != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CompanyName = cmdletContext.Customer_CompanyName; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CompanyName != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer.CompanyName = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CompanyName; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_CustomerIsNull = false; + } + Amazon.PartnerCentralSelling.CountryCode requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CountryCode = null; + if (cmdletContext.Customer_CountryCode != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CountryCode = cmdletContext.Customer_CountryCode; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CountryCode != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer.CountryCode = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_CountryCode; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_CustomerIsNull = false; + } + Amazon.PartnerCentralSelling.Industry requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_Industry = null; + if (cmdletContext.Customer_Industry != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_Industry = cmdletContext.Customer_Industry; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_Industry != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer.Industry = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_Industry; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_CustomerIsNull = false; + } + System.String requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_WebsiteUrl = null; + if (cmdletContext.Customer_WebsiteUrl != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_WebsiteUrl = cmdletContext.Customer_WebsiteUrl; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_WebsiteUrl != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer.WebsiteUrl = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer_customer_WebsiteUrl; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_CustomerIsNull = false; + } + // determine if requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer should be set to null + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_CustomerIsNull) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer = null; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation.Customer = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Customer; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitationIsNull = false; + } + Amazon.PartnerCentralSelling.Model.ProjectDetails requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project = null; + + // populate Project + var requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_ProjectIsNull = true; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project = new Amazon.PartnerCentralSelling.Model.ProjectDetails(); + System.String requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_BusinessProblem = null; + if (cmdletContext.Project_BusinessProblem != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_BusinessProblem = cmdletContext.Project_BusinessProblem; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_BusinessProblem != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project.BusinessProblem = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_BusinessProblem; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_ProjectIsNull = false; + } + List requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_ExpectedCustomerSpend = null; + if (cmdletContext.Project_ExpectedCustomerSpend != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_ExpectedCustomerSpend = cmdletContext.Project_ExpectedCustomerSpend; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_ExpectedCustomerSpend != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project.ExpectedCustomerSpend = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_ExpectedCustomerSpend; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_ProjectIsNull = false; + } + System.String requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_TargetCompletionDate = null; + if (cmdletContext.Project_TargetCompletionDate != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_TargetCompletionDate = cmdletContext.Project_TargetCompletionDate; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_TargetCompletionDate != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project.TargetCompletionDate = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_TargetCompletionDate; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_ProjectIsNull = false; + } + System.String requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_Title = null; + if (cmdletContext.Project_Title != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_Title = cmdletContext.Project_Title; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_Title != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project.Title = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project_project_Title; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_ProjectIsNull = false; + } + // determine if requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project should be set to null + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_ProjectIsNull) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project = null; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project != null) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation.Project = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation_invitation_Payload_OpportunityInvitation_Project; + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitationIsNull = false; + } + // determine if requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation should be set to null + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitationIsNull) + { + requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation = null; + } + if (requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation != null) + { + requestInvitation_invitation_Payload.OpportunityInvitation = requestInvitation_invitation_Payload_invitation_Payload_OpportunityInvitation; + requestInvitation_invitation_PayloadIsNull = false; + } + // determine if requestInvitation_invitation_Payload should be set to null + if (requestInvitation_invitation_PayloadIsNull) + { + requestInvitation_invitation_Payload = null; + } + if (requestInvitation_invitation_Payload != null) + { + request.Invitation.Payload = requestInvitation_invitation_Payload; + requestInvitationIsNull = false; + } + Amazon.PartnerCentralSelling.Model.Receiver requestInvitation_invitation_Receiver = null; + + // populate Receiver + var requestInvitation_invitation_ReceiverIsNull = true; + requestInvitation_invitation_Receiver = new Amazon.PartnerCentralSelling.Model.Receiver(); + Amazon.PartnerCentralSelling.Model.AccountReceiver requestInvitation_invitation_Receiver_invitation_Receiver_Account = null; + + // populate Account + var requestInvitation_invitation_Receiver_invitation_Receiver_AccountIsNull = true; + requestInvitation_invitation_Receiver_invitation_Receiver_Account = new Amazon.PartnerCentralSelling.Model.AccountReceiver(); + System.String requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_Alias = null; + if (cmdletContext.Account_Alias != null) + { + requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_Alias = cmdletContext.Account_Alias; + } + if (requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_Alias != null) + { + requestInvitation_invitation_Receiver_invitation_Receiver_Account.Alias = requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_Alias; + requestInvitation_invitation_Receiver_invitation_Receiver_AccountIsNull = false; + } + System.String requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_AwsAccountId = null; + if (cmdletContext.Account_AwsAccountId != null) + { + requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_AwsAccountId = cmdletContext.Account_AwsAccountId; + } + if (requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_AwsAccountId != null) + { + requestInvitation_invitation_Receiver_invitation_Receiver_Account.AwsAccountId = requestInvitation_invitation_Receiver_invitation_Receiver_Account_account_AwsAccountId; + requestInvitation_invitation_Receiver_invitation_Receiver_AccountIsNull = false; + } + // determine if requestInvitation_invitation_Receiver_invitation_Receiver_Account should be set to null + if (requestInvitation_invitation_Receiver_invitation_Receiver_AccountIsNull) + { + requestInvitation_invitation_Receiver_invitation_Receiver_Account = null; + } + if (requestInvitation_invitation_Receiver_invitation_Receiver_Account != null) + { + requestInvitation_invitation_Receiver.Account = requestInvitation_invitation_Receiver_invitation_Receiver_Account; + requestInvitation_invitation_ReceiverIsNull = false; + } + // determine if requestInvitation_invitation_Receiver should be set to null + if (requestInvitation_invitation_ReceiverIsNull) + { + requestInvitation_invitation_Receiver = null; + } + if (requestInvitation_invitation_Receiver != null) + { + request.Invitation.Receiver = requestInvitation_invitation_Receiver; + requestInvitationIsNull = false; + } + // determine if request.Invitation should be set to null + if (requestInvitationIsNull) + { + request.Invitation = 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.PartnerCentralSelling.Model.CreateEngagementInvitationResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.CreateEngagementInvitationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "CreateEngagementInvitation"); + try + { + #if DESKTOP + return client.CreateEngagementInvitation(request); + #elif CORECLR + return client.CreateEngagementInvitationAsync(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 Catalog { get; set; } + public System.String ClientToken { get; set; } + public System.String EngagementIdentifier { get; set; } + public System.String Invitation_Message { get; set; } + public System.String Customer_CompanyName { get; set; } + public Amazon.PartnerCentralSelling.CountryCode Customer_CountryCode { get; set; } + public Amazon.PartnerCentralSelling.Industry Customer_Industry { get; set; } + public System.String Customer_WebsiteUrl { get; set; } + public System.String Project_BusinessProblem { get; set; } + public List Project_ExpectedCustomerSpend { get; set; } + public System.String Project_TargetCompletionDate { get; set; } + public System.String Project_Title { get; set; } + public List OpportunityInvitation_ReceiverResponsibility { get; set; } + public List OpportunityInvitation_SenderContact { get; set; } + public System.String Account_Alias { get; set; } + public System.String Account_AwsAccountId { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateOpportunity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateOpportunity-Cmdlet.cs index 2aa267d44..bc108fbee 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateOpportunity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCCreateOpportunity-Cmdlet.cs @@ -30,11 +30,11 @@ namespace Amazon.PowerShell.Cmdlets.PC /// /// Creates an Opportunity record in Partner Central. Use this operation to create /// a potential business opportunity for submission to Amazon Web Services. Creating an - /// opportunity sets Lifecycle.ReviewStatus to Pending Submission. + /// opportunity sets Lifecycle.ReviewStatus to Pending Submission. /// /// /// - /// To submit an opportunity, follow these steps: + /// To submit an opportunity, follow these steps: ///
  1. /// To create the opportunity, use CreateOpportunity. ///
  2. @@ -42,12 +42,12 @@ namespace Amazon.PowerShell.Cmdlets.PC ///
  3. /// To submit the opportunity, use StartEngagementFromOpportunityTask. ///
- /// After submission, you can't edit the opportunity until the review is complete. But + /// After submission, you can't edit the opportunity until the review is complete. But /// opportunities in the Pending Submission state must have complete details. You - /// can update the opportunity while it's in the Pending Submission state. + /// can update the opportunity while it's in the Pending Submission state. /// - /// There's a set of mandatory fields to create opportunities, but consider providing - /// optional fields to enrich the opportunity record. + /// There's a set of mandatory fields to create opportunities, but consider providing + /// optional fields to enrich the opportunity record. /// ///
[Cmdlet("Invoke", "PCCreateOpportunity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -68,7 +68,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Captures additional comments or information for the Opportunity that weren't - /// captured in other fields. + /// captured in other fields. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -90,9 +90,9 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Project_ApnProgram /// /// - /// Specifies the Amazon Partner Network (APN) program that influenced the Opportunity. + /// Specifies the Amazon Partner Network (APN) program that influenced the Opportunity. /// APN programs refer to specific partner programs or initiatives that can impact the - /// Opportunity. Valid values: APN Immersion Days | APN Solution Space | ATO (Authority to Operate) + /// Opportunity.Valid values: APN Immersion Days | APN Solution Space | ATO (Authority to Operate) /// | AWS Marketplace Campaign | IS Immersion Day SFID Program | ISV Workload Migration /// | Migration Acceleration Program | P3 | Partner Launch Initiative | Partner Opportunity /// Acceleration Funded | The Next Smart | VMware Cloud on AWS | Well-Architected | Windows @@ -107,8 +107,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Account_AwsAccountId /// /// - /// Specifies the Customer Amazon Web Services account ID associated with the Opportunity. - /// + /// Specifies the Customer Amazon Web Services account ID associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -119,8 +118,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Marketing_AwsFundingUsed /// /// - /// Indicates if the Opportunity is a marketing development fund (MDF) funded activity. - /// + /// Indicates if the Opportunity is a marketing development fund (MDF) funded activity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -135,7 +133,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// campaign code is a reference to specific marketing initiatives, promotions, or activities. /// This field captures the identifier used to track and categorize the Opportunity /// within marketing campaigns. If you don't have a campaign code, contact your Amazon - /// Web Services point of contact to obtain one. + /// Web Services point of contact to obtain one. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -145,11 +143,11 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the opportunity is created in. Use AWS to create opportunities /// in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated - /// environments. + /// environments. /// /// #if !MODULAR @@ -168,7 +166,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// Specifies the Opportunity's channel that the marketing activity is associated /// with or was contacted through. This field provides information about the specific - /// marketing channel that contributed to the generation of the lead or contact. + /// marketing channel that contributed to the generation of the lead or contact. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -179,7 +177,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Address_City /// /// - /// Specifies the end Customer's city associated with the Opportunity. + /// Specifies the end Customer's city associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -190,10 +188,10 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter LifeCycle_ClosedLostReason /// /// - /// Specifies the reason code when an opportunity is marked as Closed Lost. When + /// Specifies the reason code when an opportunity is marked as Closed Lost. When /// you select an appropriate reason code, you communicate the context for closing the /// Opportunity, and aid in accurate reports and analysis of opportunity outcomes. - /// The possible values are:
  • Customer Deficiency: The customer lacked necessary resources or capabilities.
  • Delay/Cancellation of Project: The project was delayed or canceled.
  • Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress.
  • Lost to Competitor—Google: The opportunity was lost to Google.
  • Lost to Competitor—Microsoft: The opportunity was lost to Microsoft.
  • Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer.
  • Lost to Competitor—VMWare: The opportunity was lost to VMWare.
  • Lost to Competitor—Other: The opportunity was lost to a competitor not listed above.
  • No Opportunity: There was no opportunity to pursue.
  • On Premises Deployment: The customer chose an on-premises solution.
  • Partner Gap: The partner lacked necessary resources or capabilities.
  • Price: The price was not competitive or acceptable to the customer.
  • Security/Compliance: Security or compliance issues prevented progress.
  • Technical Limitations: Technical limitations prevented progress.
  • Customer Experience: Issues related to the customer's experience impacted the decision.
  • Other: Any reason not covered by the other values.
  • People/Relationship/Governance: Issues related to people, relationships, or governance.
  • Product/Technology: Issues related to the product or technology.
  • Financial/Commercial: Financial or commercial issues impacted the decision.
+ /// The possible values are:
  • Customer Deficiency: The customer lacked necessary resources or capabilities.
  • Delay/Cancellation of Project: The project was delayed or canceled.
  • Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress.
  • Lost to Competitor—Google: The opportunity was lost to Google.
  • Lost to Competitor—Microsoft: The opportunity was lost to Microsoft.
  • Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer.
  • Lost to Competitor—VMWare: The opportunity was lost to VMWare.
  • Lost to Competitor—Other: The opportunity was lost to a competitor not listed above.
  • No Opportunity: There was no opportunity to pursue.
  • On Premises Deployment: The customer chose an on-premises solution.
  • Partner Gap: The partner lacked necessary resources or capabilities.
  • Price: The price was not competitive or acceptable to the customer.
  • Security/Compliance: Security or compliance issues prevented progress.
  • Technical Limitations: Technical limitations prevented progress.
  • Customer Experience: Issues related to the customer's experience impacted the decision.
  • Other: Any reason not covered by the other values.
  • People/Relationship/Governance: Issues related to people, relationships, or governance.
  • Product/Technology: Issues related to the product or technology.
  • Financial/Commercial: Financial or commercial issues impacted the decision.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -204,8 +202,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Account_CompanyName /// /// - /// Specifies the end Customer's company name associated with the Opportunity. - /// + /// Specifies the end Customer's company name associated with the Opportunity. /// /// [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] @@ -217,7 +214,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Name of the Opportunity's competitor (if any). Use Other to submit a - /// value not in the picklist. + /// value not in the picklist. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -242,8 +239,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Address_CountryCode /// /// - /// Specifies the end Customer's country associated with the Opportunity. - /// + /// Specifies the end Customer's country associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -275,7 +271,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// on how the proposed solution meets the customer's needs and provides value. Use concise /// language and precise descriptions to convey the context and significance of the Opportunity. /// The content in this field helps Amazon Web Services understand the nature of the Opportunity - /// and the strategic fit of the partner's solution. + /// and the strategic fit of the partner's solution. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -285,9 +281,9 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Project_CustomerUseCase /// /// - /// Specifies the proposed solution focus or type of workload for the Opportunity. This + /// Specifies the proposed solution focus or type of workload for the Opportunity. This /// field captures the primary use case or objective of the proposed solution, and provides - /// context and clarity to the addressed workload. Valid values: AI Machine Learning and Analytics | Archiving | Big Data: Data Warehouse/Data + /// context and clarity to the addressed workload.Valid values: AI Machine Learning and Analytics | Archiving | Big Data: Data Warehouse/Data /// Integration/ETL/Data Lake/BI | Blockchain | Business Applications: Mainframe Modernization /// | Business Applications & Contact Center | Business Applications & SAP Production /// | Centralized Operations Management | Cloud Management Tools | Cloud Management Tools @@ -311,7 +307,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Specifies the customer's intended payment type agreement or procurement method to - /// acquire the solution or service outlined in the Opportunity. + /// acquire the solution or service outlined in the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -322,8 +318,8 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Project_DeliveryModel /// /// - /// Specifies the deployment or consumption model for your solution or service in the - /// Opportunity's context. You can select multiple options. Options' descriptions from the Delivery Model field are:
  • SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in + /// Specifies the deployment or consumption model for your solution or service in the + /// Opportunity's context. You can select multiple options.Options' descriptions from the Delivery Model field are:
    • SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in /// your Amazon Web Services environment.
    • BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the /// end customer's Amazon Web Services environment.
    • Managed Services: The end customer's Amazon Web Services business management (For /// example: Consulting, design, implementation, billing support, cost optimization, technical @@ -340,7 +336,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Account_Dun /// /// - /// Indicates the Customer DUNS number, if available. + /// Indicates the Customer DUNS number, if available. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -352,7 +348,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Specifies the Opportunity's customer engagement start date for the contract's - /// effectiveness. + /// effectiveness. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -376,7 +372,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// Specifies the expiration date for the contract between the customer and Amazon Web /// Services partner. It signifies the termination date of the agreed-upon engagement - /// period between both parties. + /// period between both parties. /// ///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -388,7 +384,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// Specifies the industry the end Customer belongs to that's associated with the /// Opportunity. It refers to the category or sector where the customer's business - /// operates. This is a required field. + /// operates. This is a required field. ///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -415,8 +411,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Specifies the upcoming actions or tasks for the Opportunity. Use this field - /// to communicate with Amazon Web Services about the next actions required for the Opportunity. - /// + /// to communicate with Amazon Web Services about the next actions required for the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -428,7 +423,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Captures a chronological record of the next steps or actions planned or taken for - /// the current opportunity, along with the timestamp. + /// the current opportunity, along with the timestamp. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -449,11 +444,11 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter OpportunityType /// /// - /// Specifies the opportunity type as a renewal, new, or expansion. Opportunity types:
  • New opportunity: Represents a new business opportunity with a potential customer - /// that's not previously engaged with your solutions or services.
  • Renewal opportunity: Represents an opportunity to renew an existing contract or subscription - /// with a current customer, ensuring continuity of service.
  • Expansion opportunity: Represents an opportunity to expand the scope of an existing + /// Specifies the opportunity type as a renewal, new, or expansion.Opportunity types:
    • New opportunity: Represents a new business opportunity with a potential customer that's + /// not previously engaged with your solutions or services.
    • Renewal opportunity: Represents an opportunity to renew an existing contract or subscription + /// with a current customer, ensuring continuity of service.
    • Expansion opportunity: Represents an opportunity to expand the scope of an existing /// contract or subscription, either by adding new services or increasing the volume of - /// existing services for a current customer.
    + /// existing services for a current customer.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -464,12 +459,12 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Origin /// /// - /// Specifies the origin of the opportunity, indicating if it was sourced from Amazon + /// Specifies the origin of the opportunity, indicating if it was sourced from Amazon /// Web Services or the partner. For all opportunities created with Catalog: AWS, /// this field must only be Partner Referral. However, when using Catalog: Sandbox, /// you can set this field to AWS Referral to simulate Amazon Web Services referral /// creation. This allows Amazon Web Services-originated flows testing in the sandbox - /// catalog. + /// catalog. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -480,7 +475,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Project_OtherCompetitorName /// /// - /// Only allowed when CompetitorNames has Other selected. + /// Only allowed when CompetitorNames has Other selected. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -492,7 +487,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Specifies the end Customer's industry associated with the Opportunity, - /// when the selected value in the Industry field is Other. + /// when the selected value in the Industry field is Other. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -504,7 +499,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli /// /// /// Specifies the offered solution for the customer's business problem when the RelatedEntityIdentifiers.Solutions - /// field value is Other. + /// field value is Other. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -514,11 +509,11 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter PartnerOpportunityIdentifier /// /// - /// Specifies the opportunity's unique identifier in the partner's CRM system. This value + /// Specifies the opportunity's unique identifier in the partner's CRM system. This value /// is essential to track and reconcile because it's included in the outbound payload - /// to the partner. This field allows partners to link an opportunity to their CRM, which helps to ensure + /// to the partner.This field allows partners to link an opportunity to their CRM, which helps to ensure /// seamless integration and accurate synchronization between the Partner Central API - /// and the partner's internal systems. + /// and the partner's internal systems. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -528,8 +523,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Address_PostalCode /// /// - /// Specifies the end Customer's postal code associated with the Opportunity. - /// + /// Specifies the end Customer's postal code associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -540,22 +534,22 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter PrimaryNeedsFromAw /// /// - /// Identifies the type of support the partner needs from Amazon Web Services. Valid values:
  • Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's + /// Identifies the type of support the partner needs from Amazon Web Services.Valid values:
    • Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's /// proposed solution architecture is aligned with Amazon Web Services best practices - /// and poses minimal architectural risks.
    • Cosell—Business Presentation: Request Amazon Web Services seller's participation - /// in a joint customer presentation.
    • Cosell—Competitive Information: Access to Amazon Web Services competitive resources - /// and support for the partner's proposed solution.
    • Cosell—Pricing Assistance: Connect with an Amazon Web Services seller for support + /// and poses minimal architectural risks.
    • Cosell—Business Presentation: Request Amazon Web Services seller's participation in + /// a joint customer presentation.
    • Cosell—Competitive Information: Access to Amazon Web Services competitive resources + /// and support for the partner's proposed solution.
    • Cosell—Pricing Assistance: Connect with an Amazon Web Services seller for support /// situations where a partner may be receiving an upfront discount on a service (for - /// example: EDP deals).
    • Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions Architect - /// to address the partner's questions about the proposed solution.
    • Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different cost + /// example: EDP deals).
    • Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions Architect + /// to address the partner's questions about the proposed solution.
    • Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different cost /// savings of proposed solutions on Amazon Web Services versus on-premises or a traditional - /// hosting environment.
    • Cosell—Deal Support: Request Amazon Web Services seller's support to progress the - /// opportunity (for example: joint customer call, strategic positioning).
    • Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where - /// the partner needs Amazon Web Services RFx support.
    • Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support + /// hosting environment.
    • Cosell—Deal Support: Request Amazon Web Services seller's support to progress the + /// opportunity (for example: joint customer call, strategic positioning).
    • Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where + /// the partner needs Amazon Web Services RFx support.
    • Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support /// from an Amazon Web Services sales representative, and the partner solely manages the /// opportunity. It's possible to request coselling support on these opportunities at /// any stage during their lifecycles. This is also known as a for-visibility-only (FVO) - /// opportunity.
    + /// opportunity.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -566,7 +560,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Project_RelatedOpportunityIdentifier /// /// - /// Specifies the current opportunity's parent opportunity identifier. + /// Specifies the current opportunity's parent opportunity identifier. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -588,15 +582,13 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter LifeCycle_ReviewStatus /// /// - /// Indicates the review status of an opportunity referred by a partner. This field is - /// read-only and only applicable for partner referrals. The possible values are:
  • Pending Submission: Not submitted for validation (editable).
  • Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only). - ///
  • In Review: Amazon Web Services is validating (read-only).
  • Action Required: Issues that Amazon Web Services highlights need to be addressed. + /// Indicates the review status of an opportunity referred by a partner. This field is + /// read-only and only applicable for partner referrals. The possible values are:
    • Pending Submission: Not submitted for validation (editable).
    • Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only).
    • In Review: Amazon Web Services is validating (read-only).
    • Action Required: Issues that Amazon Web Services highlights need to be addressed. /// Partners should use the UpdateOpportunity API action to update the opportunity /// and helps to ensure that all required changes are made. Only the following fields - /// are editable when the Lifecycle.ReviewStatus is Action Required:
      • Customer.Account.Address.City
      • Customer.Account.Address.CountryCode
      • Customer.Account.Address.PostalCode
      • Customer.Account.Address.StateOrRegion
      • Customer.Account.Address.StreetAddress
      • Customer.Account.WebsiteUrl
      • LifeCycle.TargetCloseDate
      • Project.ExpectedMonthlyAWSRevenue.Amount
      • Project.ExpectedMonthlyAWSRevenue.CurrencyCode
      • Project.CustomerBusinessProblem
      • PartnerOpportunityIdentifier
      After updates, the opportunity re-enters the validation phase. This process repeats + /// are editable when the Lifecycle.ReviewStatus is Action Required:
      • Customer.Account.Address.City
      • Customer.Account.Address.CountryCode
      • Customer.Account.Address.PostalCode
      • Customer.Account.Address.StateOrRegion
      • Customer.Account.Address.StreetAddress
      • Customer.Account.WebsiteUrl
      • LifeCycle.TargetCloseDate
      • Project.ExpectedMonthlyAWSRevenue.Amount
      • Project.ExpectedMonthlyAWSRevenue.CurrencyCode
      • Project.CustomerBusinessProblem
      • PartnerOpportunityIdentifier
      After updates, the opportunity re-enters the validation phase. This process repeats /// until all issues are resolved, and the opportunity's Lifecycle.ReviewStatus - /// is set to Approved or Rejected.
    • Approved: Validated and converted into the Amazon Web Services seller's pipeline - /// (editable).
    • Rejected: Disqualified (read-only).
    + /// is set to Approved or Rejected.
  • Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable).
  • Rejected: Disqualified (read-only).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -607,10 +599,9 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter LifeCycle_ReviewStatusReason /// /// - /// Indicates the reason a decision was made during the opportunity review process. This + /// Indicates the reason a decision was made during the opportunity review process. This /// field combines the reasons for both disqualified and action required statuses, and - /// provide clarity for why an opportunity was disqualified or requires further action. - /// + /// provide clarity for why an opportunity was disqualified or requires further action. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -620,16 +611,15 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Project_SalesActivity /// /// - /// Specifies the Opportunity's sales activities conducted with the end customer. - /// These activities help drive Amazon Web Services assignment priority. Valid values:
  • Initialized discussions with customer: Initial conversations with the customer to - /// understand their needs and introduce your solution.
  • Customer has shown interest in solution: After initial discussions, the customer - /// is interested in your solution.
  • Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the - /// solution for the customer.
  • In evaluation/planning stage: The customer is evaluating the solution and planning - /// potential implementation.
  • Agreed on solution to Business Problem: Both parties agree on how the solution addresses - /// the customer's business problem.
  • Completed Action Plan: A detailed action plan is complete and outlines the steps - /// for implementation.
  • Finalized Deployment Need: Both parties agree with and finalized the deployment needs. - ///
  • SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement - /// and detail the project scope and deliverables.
+ /// Specifies the Opportunity's sales activities conducted with the end customer. + /// These activities help drive Amazon Web Services assignment priority.Valid values:
  • Initialized discussions with customer: Initial conversations with the customer to + /// understand their needs and introduce your solution.
  • Customer has shown interest in solution: After initial discussions, the customer is + /// interested in your solution.
  • Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the + /// solution for the customer.
  • In evaluation/planning stage: The customer is evaluating the solution and planning + /// potential implementation.
  • Agreed on solution to Business Problem: Both parties agree on how the solution addresses + /// the customer's business problem.
  • Completed Action Plan: A detailed action plan is complete and outlines the steps for + /// implementation.
  • Finalized Deployment Need: Both parties agree with and finalized the deployment needs.
  • SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement + /// and detail the project scope and deliverables.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -640,11 +630,11 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Marketing_Source /// /// - /// Indicates if the Opportunity was sourced from an Amazon Web Services marketing + /// Indicates if the Opportunity was sourced from an Amazon Web Services marketing /// activity. Use the value Marketing Activity. Use None if it's not associated /// with an Amazon Web Services marketing activity. This field helps Amazon Web Services /// track the return on marketing investments and enables better distribution of marketing - /// budgets among partners. + /// budgets among partners. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -655,19 +645,17 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter LifeCycle_Stage /// /// - /// Specifies the current stage of the Opportunity's lifecycle as it maps to Amazon + /// Specifies the current stage of the Opportunity's lifecycle as it maps to Amazon /// Web Services stages from the current stage in the partner CRM. This field provides /// a translated value of the stage, and offers insight into the Opportunity's - /// progression in the sales cycle, according to Amazon Web Services definitions. A lead and a prospect must be further matured to a Qualified opportunity before + /// progression in the sales cycle, according to Amazon Web Services definitions.A lead and a prospect must be further matured to a Qualified opportunity before /// submission. Opportunities that were closed/lost before submission aren't suitable - /// for submission. The descriptions of each sales stage are:
  • Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes + /// for submission.The descriptions of each sales stage are:
    • Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes /// directly from the end customer through a lead) or latent (Your account team believes - /// it exists based on research, account plans, sales plays).
    • Qualified: Your account team engaged with the customer to discuss viability and requirements. + /// it exists based on research, account plans, sales plays).
    • Qualified: Your account team engaged with the customer to discuss viability and requirements. /// The customer agreed that the opportunity is real, of interest, and may solve business/technical - /// needs.
    • Technical Validation: All parties understand the implementation plan.
    • Business Validation: Pricing was proposed, and all parties agree to the steps to - /// close.
    • Committed: The customer signed the contract, but Amazon Web Services hasn't started - /// billing.
    • Launched: The workload is complete, and Amazon Web Services has started billing. - ///
    • Closed Lost: The opportunity is lost, and there are no steps to move forward.
    + /// needs.
  • Technical Validation: All parties understand the implementation plan.
  • Business Validation: Pricing was proposed, and all parties agree to the steps to close.
  • Committed: The customer signed the contract, but Amazon Web Services hasn't started + /// billing.
  • Launched: The workload is complete, and Amazon Web Services has started billing.
  • Closed Lost: The opportunity is lost, and there are no steps to move forward.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -678,8 +666,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Address_StateOrRegion /// /// - /// Specifies the end Customer's state or region associated with the Opportunity. - /// Valid values: Alabama | Alaska | American Samoa | Arizona | Arkansas | California + /// Specifies the end Customer's state or region associated with the Opportunity.Valid values: Alabama | Alaska | American Samoa | Arizona | Arkansas | California /// | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia /// | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | /// Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan @@ -699,8 +686,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Address_StreetAddress /// /// - /// Specifies the end Customer's street address associated with the Opportunity. - /// + /// Specifies the end Customer's street address associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -711,10 +697,10 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter LifeCycle_TargetCloseDate /// /// - /// Specifies the date when Amazon Web Services expects to start significant billing, + /// Specifies the date when Amazon Web Services expects to start significant billing, /// when the project finishes, and when it moves into production. This field informs the /// Amazon Web Services seller about when the opportunity launches and starts to incur - /// Amazon Web Services usage. Ensure the Target Close Date isn't in the past. + /// Amazon Web Services usage.Ensure the Target Close Date isn't in the past. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -724,7 +710,7 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Project_Title /// /// - /// Specifies the Opportunity's title or name. + /// Specifies the Opportunity's title or name. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -734,10 +720,10 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Marketing_UseCase /// /// - /// Specifies the marketing activity use case or purpose that led to the Opportunity's + /// Specifies the marketing activity use case or purpose that led to the Opportunity's /// creation or contact. This field captures the context or marketing activity's execution's /// intention and the direct correlation to the generated opportunity or contact. Must - /// be empty when Marketing.AWSFundingUsed = No. Valid values: AI/ML | Analytics | Application Integration | Blockchain | Business + /// be empty when Marketing.AWSFundingUsed = No.Valid values: AI/ML | Analytics | Application Integration | Blockchain | Business /// Applications | Cloud Financial Management | Compute | Containers | Customer Engagement /// | Databases | Developer Tools | End User Computing | Front End Web & Mobile | /// Game Tech | IoT | Management & Governance | Media Services | Migration & Transfer @@ -753,10 +739,10 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter Account_WebsiteUrl /// /// - /// Specifies the end customer's company website URL associated with the Opportunity. + /// Specifies the end customer's company website URL associated with the Opportunity. /// This value is crucial to map the customer within the Amazon Web Services CRM system. /// This field is required in all cases except when the opportunity is related to national - /// security. + /// security. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -767,12 +753,12 @@ public partial class InvokePCCreateOpportunityCmdlet : AmazonPartnerCentralSelli #region Parameter ClientToken /// /// - /// Required to be unique, and should be unchanging, it can be randomly generated or - /// a meaningful string. Default: None Best practice: To help ensure uniqueness and avoid conflicts, use a Universally Unique + /// Required to be unique, and should be unchanging, it can be randomly generated or a + /// meaningful string.Default: NoneBest practice: To help ensure uniqueness and avoid conflicts, use a Universally Unique /// Identifier (UUID) as the ClientToken. You can use standard libraries from most /// programming languages to generate this. If you use the same client token, the API /// returns the following error: "Conflicting client token submitted for a new request - /// body." + /// body." /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCDisassociateOpportunity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCDisassociateOpportunity-Cmdlet.cs index fa1ef263e..1adc00f82 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCDisassociateOpportunity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCDisassociateOpportunity-Cmdlet.cs @@ -31,15 +31,15 @@ namespace Amazon.PowerShell.Cmdlets.PC /// Allows you to remove an existing association between an Opportunity and related /// entities, such as a Partner Solution, Amazon Web Services product, or an Amazon Web /// Services Marketplace offer. This operation is the counterpart to AssociateOpportunity, - /// and it provides flexibility to manage associations as business needs change. + /// and it provides flexibility to manage associations as business needs change. /// /// /// - /// Use this operation to update the associations of an Opportunity due to changes + /// Use this operation to update the associations of an Opportunity due to changes /// in the related entities, or if an association was made in error. Ensuring accurate /// associations helps maintain clarity and accuracy to track and manage business opportunities. /// When you replace an entity, first attach the new entity and then disassociate the - /// one to be removed, especially if it's the last remaining entity that's required. + /// one to be removed, especially if it's the last remaining entity that's required. /// /// [Cmdlet("Invoke", "PCDisassociateOpportunity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -57,11 +57,11 @@ public partial class InvokePCDisassociateOpportunityCmdlet : AmazonPartnerCentra #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the opportunity disassociation is made in. Use AWS to disassociate /// opportunities in the Amazon Web Services catalog, and Sandbox for testing in - /// secure, isolated environments. + /// secure, isolated environments. /// /// #if !MODULAR @@ -79,10 +79,9 @@ public partial class InvokePCDisassociateOpportunityCmdlet : AmazonPartnerCentra /// /// /// The opportunity's unique identifier for when you want to disassociate it from related - /// entities. This identifier helps to ensure that the correct opportunity is updated. - /// Validation: Ensure that the provided identifier corresponds to an existing opportunity + /// entities. This identifier helps to ensure that the correct opportunity is updated.Validation: Ensure that the provided identifier corresponds to an existing opportunity /// in the Amazon Web Services system because incorrect identifiers result in an error - /// and no changes are made. + /// and no changes are made. /// /// #if !MODULAR @@ -101,11 +100,10 @@ public partial class InvokePCDisassociateOpportunityCmdlet : AmazonPartnerCentra /// /// The related entity's identifier that you want to disassociate from the opportunity. /// Depending on the type of entity, this could be a simple identifier or an Amazon Resource - /// Name (ARN) for entities managed through Amazon Web Services Marketplace. For Amazon Web Services Marketplace entities, use the Amazon Web Services Marketplace + /// Name (ARN) for entities managed through Amazon Web Services Marketplace.For Amazon Web Services Marketplace entities, use the Amazon Web Services Marketplace /// API to obtain the necessary ARNs. For guidance on retrieving these ARNs, see - /// Amazon Web Services MarketplaceUsing the Amazon Web Services Marketplace Catalog API. - /// Validation: Ensure the identifier or ARN is valid and corresponds to an existing entity. - /// An incorrect or invalid identifier results in an error. + /// Amazon Web Services MarketplaceUsing the Amazon Web Services Marketplace Catalog API.Validation: Ensure the identifier or ARN is valid and corresponds to an existing entity. + /// An incorrect or invalid identifier results in an error. /// /// #if !MODULAR @@ -124,10 +122,10 @@ public partial class InvokePCDisassociateOpportunityCmdlet : AmazonPartnerCentra /// /// The type of the entity that you're disassociating from the opportunity. When you specify /// the entity type, it helps the system correctly process the disassociation request - /// to ensure that the right connections are removed. Examples of entity types include Partner Solution, Amazon Web Services product, and + /// to ensure that the right connections are removed.Examples of entity types include Partner Solution, Amazon Web Services product, and /// Amazon Web Services Marketplaceoffer. Ensure that the value matches one of the expected - /// entity types. Validation: Provide a valid entity type to help ensure successful disassociation. - /// An invalid or incorrect entity type results in an error. + /// entity types.Validation: Provide a valid entity type to help ensure successful disassociation. + /// An invalid or incorrect entity type results in an error. /// /// #if !MODULAR diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshot-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshot-Cmdlet.cs new file mode 100644 index 000000000..e4a97d95e --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshot-Cmdlet.cs @@ -0,0 +1,361 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// This action allows you to create an immutable snapshot of a specific resource, such + /// as an opportunity, within the context of an engagement. The snapshot captures a subset + /// of the resource's data based on the schema defined by the provided template. + /// + [Cmdlet("Invoke", "PCResourceSnapshot", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotResponse")] + [AWSCmdlet("Calls the Partner Central Selling API CreateResourceSnapshot API operation.", Operation = new[] {"CreateResourceSnapshot"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotResponse object containing multiple properties." + )] + public partial class InvokePCResourceSnapshotCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog where the snapshot is created. Valid values are AWS + /// and Sandbox. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// The unique identifier of the engagement associated with this snapshot. This field + /// links the snapshot to a specific engagement context. + /// + /// + #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 EngagementIdentifier { get; set; } + #endregion + + #region Parameter ResourceIdentifier + /// + /// + /// The unique identifier of the specific resource to be snapshotted. The format and + /// constraints of this identifier depend on the ResourceType specified. For example: + /// For Opportunity type, it will be an opportunity ID. + /// + /// + #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 ResourceIdentifier { get; set; } + #endregion + + #region Parameter ResourceSnapshotTemplateIdentifier + /// + /// + /// The name of the template that defines the schema for the snapshot. This template + /// determines which subset of the resource data will be included in the snapshot. Must + /// correspond to an existing and valid template for the specified ResourceType. + /// + /// + /// + #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 ResourceSnapshotTemplateIdentifier { get; set; } + #endregion + + #region Parameter ResourceType + /// + /// + /// Specifies the type of resource for which the snapshot is being created. This field + /// determines the structure and content of the snapshot. Must be one of the supported + /// resource types, such as: Opportunity. + /// + /// + #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.PartnerCentralSelling.ResourceType")] + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// Specifies a unique, client-generated UUID to ensure that the request is handled exactly + /// once. This token helps prevent duplicate snapshot creations. + /// + /// + [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.PartnerCentralSelling.Model.CreateResourceSnapshotResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotResponse 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 ResourceIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceIdentifier' 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.ResourceIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Invoke-PCResourceSnapshot (CreateResourceSnapshot)")) + { + 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.ResourceIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ClientToken = this.ClientToken; + context.EngagementIdentifier = this.EngagementIdentifier; + #if MODULAR + if (this.EngagementIdentifier == null && ParameterWasBound(nameof(this.EngagementIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EngagementIdentifier 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.ResourceIdentifier = this.ResourceIdentifier; + #if MODULAR + if (this.ResourceIdentifier == null && ParameterWasBound(nameof(this.ResourceIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceIdentifier 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.ResourceSnapshotTemplateIdentifier = this.ResourceSnapshotTemplateIdentifier; + #if MODULAR + if (this.ResourceSnapshotTemplateIdentifier == null && ParameterWasBound(nameof(this.ResourceSnapshotTemplateIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceSnapshotTemplateIdentifier 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.ResourceType = this.ResourceType; + #if MODULAR + if (this.ResourceType == null && ParameterWasBound(nameof(this.ResourceType))) + { + WriteWarning("You are passing $null as a value for parameter ResourceType 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.PartnerCentralSelling.Model.CreateResourceSnapshotRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.ResourceIdentifier != null) + { + request.ResourceIdentifier = cmdletContext.ResourceIdentifier; + } + if (cmdletContext.ResourceSnapshotTemplateIdentifier != null) + { + request.ResourceSnapshotTemplateIdentifier = cmdletContext.ResourceSnapshotTemplateIdentifier; + } + if (cmdletContext.ResourceType != null) + { + request.ResourceType = cmdletContext.ResourceType; + } + + 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.PartnerCentralSelling.Model.CreateResourceSnapshotResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "CreateResourceSnapshot"); + try + { + #if DESKTOP + return client.CreateResourceSnapshot(request); + #elif CORECLR + return client.CreateResourceSnapshotAsync(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 Catalog { get; set; } + public System.String ClientToken { get; set; } + public System.String EngagementIdentifier { get; set; } + public System.String ResourceIdentifier { get; set; } + public System.String ResourceSnapshotTemplateIdentifier { get; set; } + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshotJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshotJob-Cmdlet.cs new file mode 100644 index 000000000..b5c6df1ad --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Invoke-PCResourceSnapshotJob-Cmdlet.cs @@ -0,0 +1,357 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Use this action to create a job to generate a snapshot of the specified resource + /// within an engagement. It initiates an asynchronous process to create a resource snapshot. + /// The job creates a new snapshot only if the resource state has changed, adhering to + /// the same access control and immutability rules as direct snapshot creation. + /// + [Cmdlet("Invoke", "PCResourceSnapshotJob", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotJobResponse")] + [AWSCmdlet("Calls the Partner Central Selling API CreateResourceSnapshotJob API operation.", Operation = new[] {"CreateResourceSnapshotJob"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotJobResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotJobResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotJobResponse object containing multiple properties." + )] + public partial class InvokePCResourceSnapshotJobCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog in which to create the snapshot job. Valid values are AWS + /// and Sandbox. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter EngagementIdentifier + /// + /// + /// Specifies the identifier of the engagement associated with the resource to be snapshotted. + /// + /// + /// + #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 EngagementIdentifier { get; set; } + #endregion + + #region Parameter ResourceIdentifier + /// + /// + /// Specifies the identifier of the specific resource to be snapshotted. The format depends + /// on the ResourceType. + /// + /// + #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 ResourceIdentifier { get; set; } + #endregion + + #region Parameter ResourceSnapshotTemplateIdentifier + /// + /// + /// Specifies the name of the template that defines the schema for the snapshot. + /// + /// + #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 ResourceSnapshotTemplateIdentifier { get; set; } + #endregion + + #region Parameter ResourceType + /// + /// + /// The type of resource for which the snapshot job is being created. Must be one of + /// the supported resource types Opportunity. + /// + /// + #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.PartnerCentralSelling.ResourceType")] + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + #endregion + + #region Parameter ClientToken + /// + /// + /// Specifies a unique, client-generated UUID to ensure that the request is handled exactly + /// once. This token helps prevent duplicate snapshot job creations. + /// + /// + [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.PartnerCentralSelling.Model.CreateResourceSnapshotJobResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotJobResponse 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 ResourceIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceIdentifier' 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.ResourceIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Invoke-PCResourceSnapshotJob (CreateResourceSnapshotJob)")) + { + 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.ResourceIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ClientToken = this.ClientToken; + context.EngagementIdentifier = this.EngagementIdentifier; + #if MODULAR + if (this.EngagementIdentifier == null && ParameterWasBound(nameof(this.EngagementIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter EngagementIdentifier 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.ResourceIdentifier = this.ResourceIdentifier; + #if MODULAR + if (this.ResourceIdentifier == null && ParameterWasBound(nameof(this.ResourceIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceIdentifier 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.ResourceSnapshotTemplateIdentifier = this.ResourceSnapshotTemplateIdentifier; + #if MODULAR + if (this.ResourceSnapshotTemplateIdentifier == null && ParameterWasBound(nameof(this.ResourceSnapshotTemplateIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceSnapshotTemplateIdentifier 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.ResourceType = this.ResourceType; + #if MODULAR + if (this.ResourceType == null && ParameterWasBound(nameof(this.ResourceType))) + { + WriteWarning("You are passing $null as a value for parameter ResourceType 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.PartnerCentralSelling.Model.CreateResourceSnapshotJobRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ClientToken != null) + { + request.ClientToken = cmdletContext.ClientToken; + } + if (cmdletContext.EngagementIdentifier != null) + { + request.EngagementIdentifier = cmdletContext.EngagementIdentifier; + } + if (cmdletContext.ResourceIdentifier != null) + { + request.ResourceIdentifier = cmdletContext.ResourceIdentifier; + } + if (cmdletContext.ResourceSnapshotTemplateIdentifier != null) + { + request.ResourceSnapshotTemplateIdentifier = cmdletContext.ResourceSnapshotTemplateIdentifier; + } + if (cmdletContext.ResourceType != null) + { + request.ResourceType = cmdletContext.ResourceType; + } + + 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.PartnerCentralSelling.Model.CreateResourceSnapshotJobResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.CreateResourceSnapshotJobRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "CreateResourceSnapshotJob"); + try + { + #if DESKTOP + return client.CreateResourceSnapshotJob(request); + #elif CORECLR + return client.CreateResourceSnapshotJobAsync(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 Catalog { get; set; } + public System.String ClientToken { get; set; } + public System.String EngagementIdentifier { get; set; } + public System.String ResourceIdentifier { get; set; } + public System.String ResourceSnapshotTemplateIdentifier { get; set; } + public Amazon.PartnerCentralSelling.ResourceType ResourceType { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Remove-PCResourceSnapshotJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Remove-PCResourceSnapshotJob-Cmdlet.cs new file mode 100644 index 000000000..6aa7b2fca --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Remove-PCResourceSnapshotJob-Cmdlet.cs @@ -0,0 +1,248 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Use this action to deletes a previously created resource snapshot job. The job must + /// be in a stopped state before it can be deleted. + /// + [Cmdlet("Remove", "PCResourceSnapshotJob", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("None")] + [AWSCmdlet("Calls the Partner Central Selling API DeleteResourceSnapshotJob API operation.", Operation = new[] {"DeleteResourceSnapshotJob"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.DeleteResourceSnapshotJobResponse))] + [AWSCmdletOutput("None or Amazon.PartnerCentralSelling.Model.DeleteResourceSnapshotJobResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.PartnerCentralSelling.Model.DeleteResourceSnapshotJobResponse) be returned by specifying '-Select *'." + )] + public partial class RemovePCResourceSnapshotJobCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog from which to delete the snapshot job. Valid values are AWS + /// and Sandbox. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter ResourceSnapshotJobIdentifier + /// + /// + /// The unique identifier of the resource snapshot job to be deleted. + /// + /// + #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 ResourceSnapshotJobIdentifier { 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.PartnerCentralSelling.Model.DeleteResourceSnapshotJobResponse). + /// 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 ResourceSnapshotJobIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' 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.ResourceSnapshotJobIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-PCResourceSnapshotJob (DeleteResourceSnapshotJob)")) + { + 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.ResourceSnapshotJobIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ResourceSnapshotJobIdentifier = this.ResourceSnapshotJobIdentifier; + #if MODULAR + if (this.ResourceSnapshotJobIdentifier == null && ParameterWasBound(nameof(this.ResourceSnapshotJobIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceSnapshotJobIdentifier 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.PartnerCentralSelling.Model.DeleteResourceSnapshotJobRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ResourceSnapshotJobIdentifier != null) + { + request.ResourceSnapshotJobIdentifier = cmdletContext.ResourceSnapshotJobIdentifier; + } + + 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.PartnerCentralSelling.Model.DeleteResourceSnapshotJobResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.DeleteResourceSnapshotJobRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "DeleteResourceSnapshotJob"); + try + { + #if DESKTOP + return client.DeleteResourceSnapshotJob(request); + #elif CORECLR + return client.DeleteResourceSnapshotJobAsync(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 Catalog { get; set; } + public System.String ResourceSnapshotJobIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Start-PCResourceSnapshotJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Start-PCResourceSnapshotJob-Cmdlet.cs new file mode 100644 index 000000000..6c326c011 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Start-PCResourceSnapshotJob-Cmdlet.cs @@ -0,0 +1,246 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Starts a resource snapshot job that has been previously created. + /// + [Cmdlet("Start", "PCResourceSnapshotJob", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the Partner Central Selling API StartResourceSnapshotJob API operation.", Operation = new[] {"StartResourceSnapshotJob"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.StartResourceSnapshotJobResponse))] + [AWSCmdletOutput("None or Amazon.PartnerCentralSelling.Model.StartResourceSnapshotJobResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.PartnerCentralSelling.Model.StartResourceSnapshotJobResponse) be returned by specifying '-Select *'." + )] + public partial class StartPCResourceSnapshotJobCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to 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 Catalog { get; set; } + #endregion + + #region Parameter ResourceSnapshotJobIdentifier + /// + /// + /// The identifier of the resource snapshot job to start. + /// + /// + #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 ResourceSnapshotJobIdentifier { 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.PartnerCentralSelling.Model.StartResourceSnapshotJobResponse). + /// 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 ResourceSnapshotJobIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' 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.ResourceSnapshotJobIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Start-PCResourceSnapshotJob (StartResourceSnapshotJob)")) + { + 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.ResourceSnapshotJobIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ResourceSnapshotJobIdentifier = this.ResourceSnapshotJobIdentifier; + #if MODULAR + if (this.ResourceSnapshotJobIdentifier == null && ParameterWasBound(nameof(this.ResourceSnapshotJobIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceSnapshotJobIdentifier 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.PartnerCentralSelling.Model.StartResourceSnapshotJobRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ResourceSnapshotJobIdentifier != null) + { + request.ResourceSnapshotJobIdentifier = cmdletContext.ResourceSnapshotJobIdentifier; + } + + 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.PartnerCentralSelling.Model.StartResourceSnapshotJobResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.StartResourceSnapshotJobRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "StartResourceSnapshotJob"); + try + { + #if DESKTOP + return client.StartResourceSnapshotJob(request); + #elif CORECLR + return client.StartResourceSnapshotJobAsync(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 Catalog { get; set; } + public System.String ResourceSnapshotJobIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Stop-PCResourceSnapshotJob-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Stop-PCResourceSnapshotJob-Cmdlet.cs new file mode 100644 index 000000000..a93044176 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Stop-PCResourceSnapshotJob-Cmdlet.cs @@ -0,0 +1,246 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Stops a resource snapshot job. The job must be started prior to being stopped. + /// + [Cmdlet("Stop", "PCResourceSnapshotJob", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the Partner Central Selling API StopResourceSnapshotJob API operation.", Operation = new[] {"StopResourceSnapshotJob"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.StopResourceSnapshotJobResponse))] + [AWSCmdletOutput("None or Amazon.PartnerCentralSelling.Model.StopResourceSnapshotJobResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.PartnerCentralSelling.Model.StopResourceSnapshotJobResponse) be returned by specifying '-Select *'." + )] + public partial class StopPCResourceSnapshotJobCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to 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 Catalog { get; set; } + #endregion + + #region Parameter ResourceSnapshotJobIdentifier + /// + /// + /// The identifier of the job to stop. + /// + /// + #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 ResourceSnapshotJobIdentifier { 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.PartnerCentralSelling.Model.StopResourceSnapshotJobResponse). + /// 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 ResourceSnapshotJobIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^ResourceSnapshotJobIdentifier' 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.ResourceSnapshotJobIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Stop-PCResourceSnapshotJob (StopResourceSnapshotJob)")) + { + 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.ResourceSnapshotJobIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ResourceSnapshotJobIdentifier = this.ResourceSnapshotJobIdentifier; + #if MODULAR + if (this.ResourceSnapshotJobIdentifier == null && ParameterWasBound(nameof(this.ResourceSnapshotJobIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter ResourceSnapshotJobIdentifier 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.PartnerCentralSelling.Model.StopResourceSnapshotJobRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ResourceSnapshotJobIdentifier != null) + { + request.ResourceSnapshotJobIdentifier = cmdletContext.ResourceSnapshotJobIdentifier; + } + + 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.PartnerCentralSelling.Model.StopResourceSnapshotJobResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.StopResourceSnapshotJobRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "StopResourceSnapshotJob"); + try + { + #if DESKTOP + return client.StopResourceSnapshotJob(request); + #elif CORECLR + return client.StopResourceSnapshotJobAsync(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 Catalog { get; set; } + public System.String ResourceSnapshotJobIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Submit-PCOpportunity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Submit-PCOpportunity-Cmdlet.cs new file mode 100644 index 000000000..e62968659 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Submit-PCOpportunity-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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Use this action to submit an opportunity that was previously created by partner for + /// AWS review. After you perform this action, the opportunity becomes non-editable until + /// it is reviewed by AWS and has LifeCycle.ReviewStatus as either Approved + /// or Action Required. + /// + [Cmdlet("Submit", "PCOpportunity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("None")] + [AWSCmdlet("Calls the Partner Central Selling API SubmitOpportunity API operation.", Operation = new[] {"SubmitOpportunity"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.SubmitOpportunityResponse))] + [AWSCmdletOutput("None or Amazon.PartnerCentralSelling.Model.SubmitOpportunityResponse", + "This cmdlet does not generate any output." + + "The service response (type Amazon.PartnerCentralSelling.Model.SubmitOpportunityResponse) be returned by specifying '-Select *'." + )] + public partial class SubmitPCOpportunityCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog related to 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 Catalog { get; set; } + #endregion + + #region Parameter Identifier + /// + /// + /// The identifier of the opportunity previously created by partner and needs to be submitted. + /// + /// + /// + #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 Identifier { get; set; } + #endregion + + #region Parameter InvolvementType + /// + /// + /// Specifies the level of AWS sellers' involvement on the opportunity. + /// + /// + #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.PartnerCentralSelling.SalesInvolvementType")] + public Amazon.PartnerCentralSelling.SalesInvolvementType InvolvementType { get; set; } + #endregion + + #region Parameter Visibility + /// + /// + /// Determines whether to restrict visibility of the opportunity from AWS sales. Default + /// value is Full. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [AWSConstantClassSource("Amazon.PartnerCentralSelling.Visibility")] + public Amazon.PartnerCentralSelling.Visibility Visibility { 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.PartnerCentralSelling.Model.SubmitOpportunityResponse). + /// 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 Identifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^Identifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Identifier' 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.Identifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Submit-PCOpportunity (SubmitOpportunity)")) + { + 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.Identifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.Identifier = this.Identifier; + #if MODULAR + if (this.Identifier == null && ParameterWasBound(nameof(this.Identifier))) + { + 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.InvolvementType = this.InvolvementType; + #if MODULAR + if (this.InvolvementType == null && ParameterWasBound(nameof(this.InvolvementType))) + { + WriteWarning("You are passing $null as a value for parameter InvolvementType 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.Visibility = this.Visibility; + + // 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.PartnerCentralSelling.Model.SubmitOpportunityRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.Identifier != null) + { + request.Identifier = cmdletContext.Identifier; + } + if (cmdletContext.InvolvementType != null) + { + request.InvolvementType = cmdletContext.InvolvementType; + } + if (cmdletContext.Visibility != null) + { + request.Visibility = cmdletContext.Visibility; + } + + 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.PartnerCentralSelling.Model.SubmitOpportunityResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.SubmitOpportunityRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "SubmitOpportunity"); + try + { + #if DESKTOP + return client.SubmitOpportunity(request); + #elif CORECLR + return client.SubmitOpportunityAsync(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 Catalog { get; set; } + public System.String Identifier { get; set; } + public Amazon.PartnerCentralSelling.SalesInvolvementType InvolvementType { get; set; } + public Amazon.PartnerCentralSelling.Visibility Visibility { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => null; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Update-PCOpportunity-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Update-PCOpportunity-Cmdlet.cs index 09fa5296b..3698675b0 100644 --- a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Update-PCOpportunity-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Update-PCOpportunity-Cmdlet.cs @@ -31,14 +31,14 @@ namespace Amazon.PowerShell.Cmdlets.PC /// Updates the Opportunity record identified by a given Identifier. This /// operation allows you to modify the details of an existing opportunity to reflect the /// latest information and progress. Use this action to keep the opportunity record up-to-date - /// and accurate. + /// and accurate. /// /// /// - /// When you perform updates, include the entire payload with each request. If any field + /// When you perform updates, include the entire payload with each request. If any field /// is omitted, the API assumes that the field is set to null. The best practice /// is to always perform a GetOpportunity to retrieve the latest values, then send - /// the complete payload with the updated values to be changed. + /// the complete payload with the updated values to be changed. /// /// [Cmdlet("Update", "PCOpportunity", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] @@ -58,7 +58,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Captures additional comments or information for the Opportunity that weren't - /// captured in other fields. + /// captured in other fields. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -80,9 +80,9 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Project_ApnProgram /// /// - /// Specifies the Amazon Partner Network (APN) program that influenced the Opportunity. + /// Specifies the Amazon Partner Network (APN) program that influenced the Opportunity. /// APN programs refer to specific partner programs or initiatives that can impact the - /// Opportunity. Valid values: APN Immersion Days | APN Solution Space | ATO (Authority to Operate) + /// Opportunity.Valid values: APN Immersion Days | APN Solution Space | ATO (Authority to Operate) /// | AWS Marketplace Campaign | IS Immersion Day SFID Program | ISV Workload Migration /// | Migration Acceleration Program | P3 | Partner Launch Initiative | Partner Opportunity /// Acceleration Funded | The Next Smart | VMware Cloud on AWS | Well-Architected | Windows @@ -97,8 +97,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Account_AwsAccountId /// /// - /// Specifies the Customer Amazon Web Services account ID associated with the Opportunity. - /// + /// Specifies the Customer Amazon Web Services account ID associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -109,8 +108,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Marketing_AwsFundingUsed /// /// - /// Indicates if the Opportunity is a marketing development fund (MDF) funded activity. - /// + /// Indicates if the Opportunity is a marketing development fund (MDF) funded activity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -125,7 +123,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// campaign code is a reference to specific marketing initiatives, promotions, or activities. /// This field captures the identifier used to track and categorize the Opportunity /// within marketing campaigns. If you don't have a campaign code, contact your Amazon - /// Web Services point of contact to obtain one. + /// Web Services point of contact to obtain one. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -135,13 +133,13 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Catalog /// /// - /// Specifies the catalog associated with the request. This field takes a string value + /// Specifies the catalog associated with the request. This field takes a string value /// from a predefined list: AWS or Sandbox. The catalog determines which /// environment the opportunity is updated in. Use AWS to update real opportunities /// in the production environment, and Sandbox for testing in secure, isolated /// environments. When you use the Sandbox catalog, it allows you to simulate and /// validate your interactions with Amazon Web Services services without affecting live - /// data or operations. + /// data or operations. /// /// #if !MODULAR @@ -160,7 +158,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// Specifies the Opportunity's channel that the marketing activity is associated /// with or was contacted through. This field provides information about the specific - /// marketing channel that contributed to the generation of the lead or contact. + /// marketing channel that contributed to the generation of the lead or contact. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -171,7 +169,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Address_City /// /// - /// Specifies the end Customer's city associated with the Opportunity. + /// Specifies the end Customer's city associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -182,10 +180,10 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter LifeCycle_ClosedLostReason /// /// - /// Specifies the reason code when an opportunity is marked as Closed Lost. When + /// Specifies the reason code when an opportunity is marked as Closed Lost. When /// you select an appropriate reason code, you communicate the context for closing the /// Opportunity, and aid in accurate reports and analysis of opportunity outcomes. - /// The possible values are:
  • Customer Deficiency: The customer lacked necessary resources or capabilities.
  • Delay/Cancellation of Project: The project was delayed or canceled.
  • Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress.
  • Lost to Competitor—Google: The opportunity was lost to Google.
  • Lost to Competitor—Microsoft: The opportunity was lost to Microsoft.
  • Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer.
  • Lost to Competitor—VMWare: The opportunity was lost to VMWare.
  • Lost to Competitor—Other: The opportunity was lost to a competitor not listed above.
  • No Opportunity: There was no opportunity to pursue.
  • On Premises Deployment: The customer chose an on-premises solution.
  • Partner Gap: The partner lacked necessary resources or capabilities.
  • Price: The price was not competitive or acceptable to the customer.
  • Security/Compliance: Security or compliance issues prevented progress.
  • Technical Limitations: Technical limitations prevented progress.
  • Customer Experience: Issues related to the customer's experience impacted the decision.
  • Other: Any reason not covered by the other values.
  • People/Relationship/Governance: Issues related to people, relationships, or governance.
  • Product/Technology: Issues related to the product or technology.
  • Financial/Commercial: Financial or commercial issues impacted the decision.
+ /// The possible values are:
  • Customer Deficiency: The customer lacked necessary resources or capabilities.
  • Delay/Cancellation of Project: The project was delayed or canceled.
  • Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress.
  • Lost to Competitor—Google: The opportunity was lost to Google.
  • Lost to Competitor—Microsoft: The opportunity was lost to Microsoft.
  • Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer.
  • Lost to Competitor—VMWare: The opportunity was lost to VMWare.
  • Lost to Competitor—Other: The opportunity was lost to a competitor not listed above.
  • No Opportunity: There was no opportunity to pursue.
  • On Premises Deployment: The customer chose an on-premises solution.
  • Partner Gap: The partner lacked necessary resources or capabilities.
  • Price: The price was not competitive or acceptable to the customer.
  • Security/Compliance: Security or compliance issues prevented progress.
  • Technical Limitations: Technical limitations prevented progress.
  • Customer Experience: Issues related to the customer's experience impacted the decision.
  • Other: Any reason not covered by the other values.
  • People/Relationship/Governance: Issues related to people, relationships, or governance.
  • Product/Technology: Issues related to the product or technology.
  • Financial/Commercial: Financial or commercial issues impacted the decision.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -196,8 +194,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Account_CompanyName /// /// - /// Specifies the end Customer's company name associated with the Opportunity. - /// + /// Specifies the end Customer's company name associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -209,7 +206,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Name of the Opportunity's competitor (if any). Use Other to submit a - /// value not in the picklist. + /// value not in the picklist. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -234,8 +231,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Address_CountryCode /// /// - /// Specifies the end Customer's country associated with the Opportunity. - /// + /// Specifies the end Customer's country associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -267,7 +263,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// on how the proposed solution meets the customer's needs and provides value. Use concise /// language and precise descriptions to convey the context and significance of the Opportunity. /// The content in this field helps Amazon Web Services understand the nature of the Opportunity - /// and the strategic fit of the partner's solution. + /// and the strategic fit of the partner's solution. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -277,9 +273,9 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Project_CustomerUseCase /// /// - /// Specifies the proposed solution focus or type of workload for the Opportunity. This + /// Specifies the proposed solution focus or type of workload for the Opportunity. This /// field captures the primary use case or objective of the proposed solution, and provides - /// context and clarity to the addressed workload. Valid values: AI Machine Learning and Analytics | Archiving | Big Data: Data Warehouse/Data + /// context and clarity to the addressed workload.Valid values: AI Machine Learning and Analytics | Archiving | Big Data: Data Warehouse/Data /// Integration/ETL/Data Lake/BI | Blockchain | Business Applications: Mainframe Modernization /// | Business Applications & Contact Center | Business Applications & SAP Production /// | Centralized Operations Management | Cloud Management Tools | Cloud Management Tools @@ -303,7 +299,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Specifies the customer's intended payment type agreement or procurement method to - /// acquire the solution or service outlined in the Opportunity. + /// acquire the solution or service outlined in the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -314,8 +310,8 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Project_DeliveryModel /// /// - /// Specifies the deployment or consumption model for your solution or service in the - /// Opportunity's context. You can select multiple options. Options' descriptions from the Delivery Model field are:
  • SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in + /// Specifies the deployment or consumption model for your solution or service in the + /// Opportunity's context. You can select multiple options.Options' descriptions from the Delivery Model field are:
    • SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in /// your Amazon Web Services environment.
    • BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the /// end customer's Amazon Web Services environment.
    • Managed Services: The end customer's Amazon Web Services business management (For /// example: Consulting, design, implementation, billing support, cost optimization, technical @@ -332,7 +328,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Account_Dun /// /// - /// Indicates the Customer DUNS number, if available. + /// Indicates the Customer DUNS number, if available. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -344,7 +340,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Specifies the Opportunity's customer engagement start date for the contract's - /// effectiveness. + /// effectiveness. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -368,7 +364,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// Specifies the expiration date for the contract between the customer and Amazon Web /// Services partner. It signifies the termination date of the agreed-upon engagement - /// period between both parties. + /// period between both parties. /// ///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -378,7 +374,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Identifier /// /// - /// Read-only, system generated Opportunity unique identifier. + /// Read-only, system generated Opportunity unique identifier. /// /// #if !MODULAR @@ -397,7 +393,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// Specifies the industry the end Customer belongs to that's associated with the /// Opportunity. It refers to the category or sector where the customer's business - /// operates. This is a required field. + /// operates. This is a required field. ///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -409,7 +405,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter LastModifiedDate /// /// - /// DateTime when the opportunity was last modified. + /// DateTime when the opportunity was last modified. /// /// #if !MODULAR @@ -440,8 +436,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Specifies the upcoming actions or tasks for the Opportunity. Use this field - /// to communicate with Amazon Web Services about the next actions required for the Opportunity. - /// + /// to communicate with Amazon Web Services about the next actions required for the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -453,7 +448,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Captures a chronological record of the next steps or actions planned or taken for - /// the current opportunity, along with the timestamp. + /// the current opportunity, along with the timestamp. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -463,11 +458,11 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter OpportunityType /// /// - /// Specifies the opportunity type as a renewal, new, or expansion. Opportunity types:
  • New opportunity: Represents a new business opportunity with a potential customer - /// that's not previously engaged with your solutions or services.
  • Renewal opportunity: Represents an opportunity to renew an existing contract or subscription - /// with a current customer, ensuring continuity of service.
  • Expansion opportunity: Represents an opportunity to expand the scope of an existing + /// Specifies the opportunity type as a renewal, new, or expansion.Opportunity types:
    • New opportunity: Represents a new business opportunity with a potential customer that's + /// not previously engaged with your solutions or services.
    • Renewal opportunity: Represents an opportunity to renew an existing contract or subscription + /// with a current customer, ensuring continuity of service.
    • Expansion opportunity: Represents an opportunity to expand the scope of an existing /// contract or subscription, either by adding new services or increasing the volume of - /// existing services for a current customer.
    + /// existing services for a current customer.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -478,7 +473,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Project_OtherCompetitorName /// /// - /// Only allowed when CompetitorNames has Other selected. + /// Only allowed when CompetitorNames has Other selected. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -490,7 +485,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Specifies the end Customer's industry associated with the Opportunity, - /// when the selected value in the Industry field is Other. + /// when the selected value in the Industry field is Other. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -502,7 +497,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// /// Specifies the offered solution for the customer's business problem when the RelatedEntityIdentifiers.Solutions - /// field value is Other. + /// field value is Other. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -514,7 +509,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie /// /// Specifies the opportunity's unique identifier in the partner's CRM system. This value /// is essential to track and reconcile because it's included in the outbound payload - /// sent back to the partner. + /// sent back to the partner. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -524,8 +519,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Address_PostalCode /// /// - /// Specifies the end Customer's postal code associated with the Opportunity. - /// + /// Specifies the end Customer's postal code associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -536,22 +530,20 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter PrimaryNeedsFromAw /// /// - /// Identifies the type of support the partner needs from Amazon Web Services. Valid values:
  • Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's + /// Identifies the type of support the partner needs from Amazon Web Services.Valid values:
    • Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's /// proposed solution architecture is aligned with Amazon Web Services best practices - /// and poses minimal architectural risks.
    • Cosell—Business Presentation: Request Amazon Web Services seller's participation - /// in a joint customer presentation.
    • Cosell—Competitive Information: Access to Amazon Web Services competitive resources - /// and support for the partner's proposed solution.
    • Cosell—Pricing Assistance: Connect with an AWS seller for support situations where - /// a partner may be receiving an upfront discount on a service (for example: EDP deals). - ///
    • Cosell—Technical Consultation: Connection with an Amazon Web Services Solutions Architect - /// to address the partner's questions about the proposed solution.
    • Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different cost + /// and poses minimal architectural risks.
    • Cosell—Business Presentation: Request Amazon Web Services seller's participation in + /// a joint customer presentation.
    • Cosell—Competitive Information: Access to Amazon Web Services competitive resources + /// and support for the partner's proposed solution.
    • Cosell—Pricing Assistance: Connect with an AWS seller for support situations where + /// a partner may be receiving an upfront discount on a service (for example: EDP deals).
    • Cosell—Technical Consultation: Connection with an Amazon Web Services Solutions Architect + /// to address the partner's questions about the proposed solution.
    • Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different cost /// savings of proposed solutions on Amazon Web Services versus on-premises or a traditional - /// hosting environment.
    • Cosell—Deal Support: Request Amazon Web Services seller's support to progress the - /// opportunity (for example: joint customer call, strategic positioning).
    • Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where - /// the partner needs RFx support from Amazon Web Services.
    • Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support + /// hosting environment.
    • Cosell—Deal Support: Request Amazon Web Services seller's support to progress the + /// opportunity (for example: joint customer call, strategic positioning).
    • Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where + /// the partner needs RFx support from Amazon Web Services.
    • Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support /// from an Amazon Web Services Sales representative. The opportunity is managed solely /// by the partner. It's possible to request coselling support on these opportunities - /// at any stage during their lifecycle. Also known as, for-visibility-only (FVO) opportunity. - ///
    + /// at any stage during their lifecycle. Also known as, for-visibility-only (FVO) opportunity.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -562,7 +554,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Project_RelatedOpportunityIdentifier /// /// - /// Specifies the current opportunity's parent opportunity identifier. + /// Specifies the current opportunity's parent opportunity identifier. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -584,15 +576,13 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter LifeCycle_ReviewStatus /// /// - /// Indicates the review status of an opportunity referred by a partner. This field is - /// read-only and only applicable for partner referrals. The possible values are:
  • Pending Submission: Not submitted for validation (editable).
  • Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only). - ///
  • In Review: Amazon Web Services is validating (read-only).
  • Action Required: Issues that Amazon Web Services highlights need to be addressed. + /// Indicates the review status of an opportunity referred by a partner. This field is + /// read-only and only applicable for partner referrals. The possible values are:
    • Pending Submission: Not submitted for validation (editable).
    • Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only).
    • In Review: Amazon Web Services is validating (read-only).
    • Action Required: Issues that Amazon Web Services highlights need to be addressed. /// Partners should use the UpdateOpportunity API action to update the opportunity /// and helps to ensure that all required changes are made. Only the following fields - /// are editable when the Lifecycle.ReviewStatus is Action Required:
      • Customer.Account.Address.City
      • Customer.Account.Address.CountryCode
      • Customer.Account.Address.PostalCode
      • Customer.Account.Address.StateOrRegion
      • Customer.Account.Address.StreetAddress
      • Customer.Account.WebsiteUrl
      • LifeCycle.TargetCloseDate
      • Project.ExpectedMonthlyAWSRevenue.Amount
      • Project.ExpectedMonthlyAWSRevenue.CurrencyCode
      • Project.CustomerBusinessProblem
      • PartnerOpportunityIdentifier
      After updates, the opportunity re-enters the validation phase. This process repeats + /// are editable when the Lifecycle.ReviewStatus is Action Required:
      • Customer.Account.Address.City
      • Customer.Account.Address.CountryCode
      • Customer.Account.Address.PostalCode
      • Customer.Account.Address.StateOrRegion
      • Customer.Account.Address.StreetAddress
      • Customer.Account.WebsiteUrl
      • LifeCycle.TargetCloseDate
      • Project.ExpectedMonthlyAWSRevenue.Amount
      • Project.ExpectedMonthlyAWSRevenue.CurrencyCode
      • Project.CustomerBusinessProblem
      • PartnerOpportunityIdentifier
      After updates, the opportunity re-enters the validation phase. This process repeats /// until all issues are resolved, and the opportunity's Lifecycle.ReviewStatus - /// is set to Approved or Rejected.
    • Approved: Validated and converted into the Amazon Web Services seller's pipeline - /// (editable).
    • Rejected: Disqualified (read-only).
    + /// is set to Approved or Rejected.
  • Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable).
  • Rejected: Disqualified (read-only).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -603,10 +593,9 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter LifeCycle_ReviewStatusReason /// /// - /// Indicates the reason a decision was made during the opportunity review process. This + /// Indicates the reason a decision was made during the opportunity review process. This /// field combines the reasons for both disqualified and action required statuses, and - /// provide clarity for why an opportunity was disqualified or requires further action. - /// + /// provide clarity for why an opportunity was disqualified or requires further action. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -616,16 +605,15 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Project_SalesActivity /// /// - /// Specifies the Opportunity's sales activities conducted with the end customer. - /// These activities help drive Amazon Web Services assignment priority. Valid values:
  • Initialized discussions with customer: Initial conversations with the customer to - /// understand their needs and introduce your solution.
  • Customer has shown interest in solution: After initial discussions, the customer - /// is interested in your solution.
  • Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the - /// solution for the customer.
  • In evaluation/planning stage: The customer is evaluating the solution and planning - /// potential implementation.
  • Agreed on solution to Business Problem: Both parties agree on how the solution addresses - /// the customer's business problem.
  • Completed Action Plan: A detailed action plan is complete and outlines the steps - /// for implementation.
  • Finalized Deployment Need: Both parties agree with and finalized the deployment needs. - ///
  • SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement - /// and detail the project scope and deliverables.
+ /// Specifies the Opportunity's sales activities conducted with the end customer. + /// These activities help drive Amazon Web Services assignment priority.Valid values:
  • Initialized discussions with customer: Initial conversations with the customer to + /// understand their needs and introduce your solution.
  • Customer has shown interest in solution: After initial discussions, the customer is + /// interested in your solution.
  • Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the + /// solution for the customer.
  • In evaluation/planning stage: The customer is evaluating the solution and planning + /// potential implementation.
  • Agreed on solution to Business Problem: Both parties agree on how the solution addresses + /// the customer's business problem.
  • Completed Action Plan: A detailed action plan is complete and outlines the steps for + /// implementation.
  • Finalized Deployment Need: Both parties agree with and finalized the deployment needs.
  • SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement + /// and detail the project scope and deliverables.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -636,11 +624,11 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Marketing_Source /// /// - /// Indicates if the Opportunity was sourced from an Amazon Web Services marketing + /// Indicates if the Opportunity was sourced from an Amazon Web Services marketing /// activity. Use the value Marketing Activity. Use None if it's not associated /// with an Amazon Web Services marketing activity. This field helps Amazon Web Services /// track the return on marketing investments and enables better distribution of marketing - /// budgets among partners. + /// budgets among partners. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -651,19 +639,17 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter LifeCycle_Stage /// /// - /// Specifies the current stage of the Opportunity's lifecycle as it maps to Amazon + /// Specifies the current stage of the Opportunity's lifecycle as it maps to Amazon /// Web Services stages from the current stage in the partner CRM. This field provides /// a translated value of the stage, and offers insight into the Opportunity's - /// progression in the sales cycle, according to Amazon Web Services definitions. A lead and a prospect must be further matured to a Qualified opportunity before + /// progression in the sales cycle, according to Amazon Web Services definitions.A lead and a prospect must be further matured to a Qualified opportunity before /// submission. Opportunities that were closed/lost before submission aren't suitable - /// for submission. The descriptions of each sales stage are:
  • Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes + /// for submission.The descriptions of each sales stage are:
    • Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes /// directly from the end customer through a lead) or latent (Your account team believes - /// it exists based on research, account plans, sales plays).
    • Qualified: Your account team engaged with the customer to discuss viability and requirements. + /// it exists based on research, account plans, sales plays).
    • Qualified: Your account team engaged with the customer to discuss viability and requirements. /// The customer agreed that the opportunity is real, of interest, and may solve business/technical - /// needs.
    • Technical Validation: All parties understand the implementation plan.
    • Business Validation: Pricing was proposed, and all parties agree to the steps to - /// close.
    • Committed: The customer signed the contract, but Amazon Web Services hasn't started - /// billing.
    • Launched: The workload is complete, and Amazon Web Services has started billing. - ///
    • Closed Lost: The opportunity is lost, and there are no steps to move forward.
    + /// needs.
  • Technical Validation: All parties understand the implementation plan.
  • Business Validation: Pricing was proposed, and all parties agree to the steps to close.
  • Committed: The customer signed the contract, but Amazon Web Services hasn't started + /// billing.
  • Launched: The workload is complete, and Amazon Web Services has started billing.
  • Closed Lost: The opportunity is lost, and there are no steps to move forward.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -674,8 +660,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Address_StateOrRegion /// /// - /// Specifies the end Customer's state or region associated with the Opportunity. - /// Valid values: Alabama | Alaska | American Samoa | Arizona | Arkansas | California + /// Specifies the end Customer's state or region associated with the Opportunity.Valid values: Alabama | Alaska | American Samoa | Arizona | Arkansas | California /// | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia /// | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | /// Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan @@ -695,8 +680,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Address_StreetAddress /// /// - /// Specifies the end Customer's street address associated with the Opportunity. - /// + /// Specifies the end Customer's street address associated with the Opportunity. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -707,10 +691,10 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter LifeCycle_TargetCloseDate /// /// - /// Specifies the date when Amazon Web Services expects to start significant billing, + /// Specifies the date when Amazon Web Services expects to start significant billing, /// when the project finishes, and when it moves into production. This field informs the /// Amazon Web Services seller about when the opportunity launches and starts to incur - /// Amazon Web Services usage. Ensure the Target Close Date isn't in the past. + /// Amazon Web Services usage.Ensure the Target Close Date isn't in the past. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -720,7 +704,7 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Project_Title /// /// - /// Specifies the Opportunity's title or name. + /// Specifies the Opportunity's title or name. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] @@ -730,10 +714,10 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Marketing_UseCase /// /// - /// Specifies the marketing activity use case or purpose that led to the Opportunity's + /// Specifies the marketing activity use case or purpose that led to the Opportunity's /// creation or contact. This field captures the context or marketing activity's execution's /// intention and the direct correlation to the generated opportunity or contact. Must - /// be empty when Marketing.AWSFundingUsed = No. Valid values: AI/ML | Analytics | Application Integration | Blockchain | Business + /// be empty when Marketing.AWSFundingUsed = No.Valid values: AI/ML | Analytics | Application Integration | Blockchain | Business /// Applications | Cloud Financial Management | Compute | Containers | Customer Engagement /// | Databases | Developer Tools | End User Computing | Front End Web & Mobile | /// Game Tech | IoT | Management & Governance | Media Services | Migration & Transfer @@ -749,10 +733,10 @@ public partial class UpdatePCOpportunityCmdlet : AmazonPartnerCentralSellingClie #region Parameter Account_WebsiteUrl /// /// - /// Specifies the end customer's company website URL associated with the Opportunity. + /// Specifies the end customer's company website URL associated with the Opportunity. /// This value is crucial to map the customer within the Amazon Web Services CRM system. /// This field is required in all cases except when the opportunity is related to national - /// security. + /// security. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Write-PCSellingSystemSetting-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Write-PCSellingSystemSetting-Cmdlet.cs new file mode 100644 index 000000000..b01732d46 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/PartnerCentralSelling/Basic/Write-PCSellingSystemSetting-Cmdlet.cs @@ -0,0 +1,235 @@ +/******************************************************************************* + * 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.PartnerCentralSelling; +using Amazon.PartnerCentralSelling.Model; + +namespace Amazon.PowerShell.Cmdlets.PC +{ + /// + /// Updates the currently set system settings, which include the IAM Role used for resource + /// snapshot jobs. + /// + [Cmdlet("Write", "PCSellingSystemSetting", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.PartnerCentralSelling.Model.PutSellingSystemSettingsResponse")] + [AWSCmdlet("Calls the Partner Central Selling API PutSellingSystemSettings API operation.", Operation = new[] {"PutSellingSystemSettings"}, SelectReturnType = typeof(Amazon.PartnerCentralSelling.Model.PutSellingSystemSettingsResponse))] + [AWSCmdletOutput("Amazon.PartnerCentralSelling.Model.PutSellingSystemSettingsResponse", + "This cmdlet returns an Amazon.PartnerCentralSelling.Model.PutSellingSystemSettingsResponse object containing multiple properties." + )] + public partial class WritePCSellingSystemSettingCmdlet : AmazonPartnerCentralSellingClientCmdlet, IExecutor + { + + protected override bool IsGeneratedCmdlet { get; set; } = true; + + #region Parameter Catalog + /// + /// + /// Specifies the catalog in which the settings will be updated. Acceptable values include + /// AWS for production and Sandbox for testing environments. + /// + /// + #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 Catalog { get; set; } + #endregion + + #region Parameter ResourceSnapshotJobRoleIdentifier + /// + /// + /// Specifies the ARN of the IAM Role used for resource snapshot job executions. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String ResourceSnapshotJobRoleIdentifier { 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.PartnerCentralSelling.Model.PutSellingSystemSettingsResponse). + /// Specifying the name of a property of type Amazon.PartnerCentralSelling.Model.PutSellingSystemSettingsResponse 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 Catalog parameter. + /// The -PassThru parameter is deprecated, use -Select '^Catalog' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Catalog' 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.ResourceSnapshotJobRoleIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Write-PCSellingSystemSetting (PutSellingSystemSettings)")) + { + 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.Catalog; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Catalog = this.Catalog; + #if MODULAR + if (this.Catalog == null && ParameterWasBound(nameof(this.Catalog))) + { + WriteWarning("You are passing $null as a value for parameter Catalog 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.ResourceSnapshotJobRoleIdentifier = this.ResourceSnapshotJobRoleIdentifier; + + // 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.PartnerCentralSelling.Model.PutSellingSystemSettingsRequest(); + + if (cmdletContext.Catalog != null) + { + request.Catalog = cmdletContext.Catalog; + } + if (cmdletContext.ResourceSnapshotJobRoleIdentifier != null) + { + request.ResourceSnapshotJobRoleIdentifier = cmdletContext.ResourceSnapshotJobRoleIdentifier; + } + + 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.PartnerCentralSelling.Model.PutSellingSystemSettingsResponse CallAWSServiceOperation(IAmazonPartnerCentralSelling client, Amazon.PartnerCentralSelling.Model.PutSellingSystemSettingsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Partner Central Selling API", "PutSellingSystemSettings"); + try + { + #if DESKTOP + return client.PutSellingSystemSettings(request); + #elif CORECLR + return client.PutSellingSystemSettingsAsync(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 Catalog { get; set; } + public System.String ResourceSnapshotJobRoleIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/QBusiness/Basic/Search-QBUSRelevantContent-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/QBusiness/Basic/Search-QBUSRelevantContent-Cmdlet.cs index 5b9ecab12..65f38e389 100644 --- a/modules/AWSPowerShell/Cmdlets/QBusiness/Basic/Search-QBUSRelevantContent-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/QBusiness/Basic/Search-QBUSRelevantContent-Cmdlet.cs @@ -30,10 +30,10 @@ namespace Amazon.PowerShell.Cmdlets.QBUS /// /// Searches for relevant content in a Q Business application based on a query. This operation /// takes a search query text, the Q Business application identifier, and optional filters - /// (such as user ID, user groups, content source, and maximum results) as input. It returns - /// a list of relevant content items, where each item includes the content text, the unique - /// document identifier, the document title, the document URI, any relevant document attributes, - /// and score attributes indicating the confidence level of the relevance. + /// (such as content source and maximum results) as input. It returns a list of relevant + /// content items, where each item includes the content text, the unique document identifier, + /// the document title, the document URI, any relevant document attributes, and score + /// attributes indicating the confidence level of the relevance. /// [Cmdlet("Search", "QBUSRelevantContent", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.QBusiness.Model.RelevantContent")] @@ -102,27 +102,6 @@ public partial class SearchQBUSRelevantContentCmdlet : AmazonQBusinessClientCmdl public System.String Retriever_RetrieverId { get; set; } #endregion - #region Parameter UserGroup - /// - /// - /// The groups the user belongs to. Used for access control. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - [Alias("UserGroups")] - public System.String[] UserGroup { get; set; } - #endregion - - #region Parameter UserId - /// - /// - /// The ID of the user performing the search. Used for access control. - /// - /// - [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] - public System.String UserId { get; set; } - #endregion - #region Parameter MaxResult /// /// @@ -224,11 +203,6 @@ protected override void ProcessRecord() WriteWarning("You are passing $null as a value for parameter QueryText 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.UserGroup != null) - { - context.UserGroup = new List(this.UserGroup); - } - context.UserId = this.UserId; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); @@ -299,14 +273,6 @@ public object Execute(ExecutorContext context) { request.QueryText = cmdletContext.QueryText; } - if (cmdletContext.UserGroup != null) - { - request.UserGroups = cmdletContext.UserGroup; - } - if (cmdletContext.UserId != null) - { - request.UserId = cmdletContext.UserId; - } CmdletOutput output; @@ -374,8 +340,6 @@ internal partial class CmdletContext : ExecutorContext public System.Int32? MaxResult { get; set; } public System.String NextToken { get; set; } public System.String QueryText { get; set; } - public List UserGroup { get; set; } - public System.String UserId { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response.RelevantContent; } diff --git a/modules/AWSPowerShell/CmdletsList.dat b/modules/AWSPowerShell/CmdletsList.dat index 9bf0e4621302fd42629714bc89ffaf94bdec1715..94a13552817992c185f233e49672331c1649f9b2 100644 GIT binary patch delta 69023 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
  • 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