/*******************************************************************************
* 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.ConfigService;
using Amazon.ConfigService.Model;
namespace Amazon.PowerShell.Cmdlets.CFG
{
///
/// Adds or updates an Config rule for your entire organization to evaluate if your Amazon
/// Web Services resources comply with your desired configurations. For information on
/// how many organization Config rules you can have per account, see Service Limits in the Config Developer Guide.
///
///
///
/// Only a management account and a delegated administrator can create or update an organization
/// Config rule. When calling this API with a delegated administrator, you must ensure
/// Organizations ListDelegatedAdministrator
permissions are added. An organization
/// can have up to 3 delegated administrators.
///
/// This API enables organization service access through the EnableAWSServiceAccess
/// action and creates a service-linked role AWSServiceRoleForConfigMultiAccountSetup
/// in the management or delegated administrator account of your organization. The service-linked
/// role is created only when the role does not exist in the caller account. Config verifies
/// the existence of role with GetRole
action.
///
/// To use this API with delegated administrator, register a delegated administrator by
/// calling Amazon Web Services Organization register-delegated-administrator
/// for config-multiaccountsetup.amazonaws.com
.
///
/// There are two types of rules: Config Managed Rules and Config Custom Rules.
/// You can use PutOrganizationConfigRule
to create both Config Managed Rules
/// and Config Custom Rules.
///
/// Config Managed Rules are predefined, customizable rules created by Config. For a list
/// of managed rules, see List
/// of Config Managed Rules. If you are adding an Config managed rule, you must specify
/// the rule's identifier for the RuleIdentifier
key.
///
/// Config Custom Rules are rules that you create from scratch. There are two ways to
/// create Config custom rules: with Lambda functions (
/// Lambda Developer Guide) and with Guard (Guard
/// GitHub Repository), a policy-as-code language. Config custom rules created with
/// Lambda are called Config Custom Lambda Rules and Config custom rules created
/// with Guard are called Config Custom Policy Rules.
///
/// If you are adding a new Config Custom Lambda rule, you first need to create an Lambda
/// function in the management account or a delegated administrator that the rule invokes
/// to evaluate your resources. You also need to create an IAM role in the managed account
/// that can be assumed by the Lambda function. When you use PutOrganizationConfigRule
/// to add a Custom Lambda rule to Config, you must specify the Amazon Resource Name (ARN)
/// that Lambda assigns to the function.
///
/// Prerequisite: Ensure you call EnableAllFeatures
API to enable all features
/// in an organization.
///
/// Make sure to specify one of either OrganizationCustomPolicyRuleMetadata
/// for Custom Policy rules, OrganizationCustomRuleMetadata
for Custom Lambda
/// rules, or OrganizationManagedRuleMetadata
for managed rules.
///
///
[Cmdlet("Write", "CFGOrganizationConfigRule", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)]
[OutputType("System.String")]
[AWSCmdlet("Calls the AWS Config PutOrganizationConfigRule API operation.", Operation = new[] {"PutOrganizationConfigRule"}, SelectReturnType = typeof(Amazon.ConfigService.Model.PutOrganizationConfigRuleResponse))]
[AWSCmdletOutput("System.String or Amazon.ConfigService.Model.PutOrganizationConfigRuleResponse",
"This cmdlet returns a System.String object.",
"The service call response (type Amazon.ConfigService.Model.PutOrganizationConfigRuleResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack."
)]
public partial class WriteCFGOrganizationConfigRuleCmdlet : AmazonConfigServiceClientCmdlet, IExecutor
{
#region Parameter OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount
///
///
/// A list of accounts that you can enable debug logging for your organization Config
/// Custom Policy rule. List is null when debug logging is enabled for all accounts.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccounts")]
public System.String[] OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_Description
///
///
/// The description that you provide for your organization Config Custom Policy rule.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomPolicyRuleMetadata_Description { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_Description
///
///
/// The description that you provide for your organization Config rule.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomRuleMetadata_Description { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_Description
///
///
/// The description that you provide for your organization Config rule.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationManagedRuleMetadata_Description { get; set; }
#endregion
#region Parameter ExcludedAccount
///
///
/// A comma-separated list of accounts that you want to exclude from an organization Config
/// rule.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("ExcludedAccounts")]
public System.String[] ExcludedAccount { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_InputParameter
///
///
/// A string, in JSON format, that is passed to your organization Config Custom Policy
/// rule.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("OrganizationCustomPolicyRuleMetadata_InputParameters")]
public System.String OrganizationCustomPolicyRuleMetadata_InputParameter { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_InputParameter
///
///
/// A string, in JSON format, that is passed to your organization Config rule Lambda function.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("OrganizationCustomRuleMetadata_InputParameters")]
public System.String OrganizationCustomRuleMetadata_InputParameter { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_InputParameter
///
///
/// A string, in JSON format, that is passed to your organization Config rule Lambda function.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("OrganizationManagedRuleMetadata_InputParameters")]
public System.String OrganizationManagedRuleMetadata_InputParameter { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_LambdaFunctionArn
///
///
/// The lambda function ARN.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomRuleMetadata_LambdaFunctionArn { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_MaximumExecutionFrequency
///
///
/// The maximum frequency with which Config runs evaluations for a rule. Your Config Custom
/// Policy rule is triggered when Config delivers the configuration snapshot. For more
/// information, see ConfigSnapshotDeliveryProperties.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.ConfigService.MaximumExecutionFrequency")]
public Amazon.ConfigService.MaximumExecutionFrequency OrganizationCustomPolicyRuleMetadata_MaximumExecutionFrequency { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_MaximumExecutionFrequency
///
///
/// The maximum frequency with which Config runs evaluations for a rule. Your custom rule
/// is triggered when Config delivers the configuration snapshot. For more information,
/// see ConfigSnapshotDeliveryProperties.By default, rules with a periodic trigger are evaluated every 24 hours. To change
/// the frequency, specify a valid value for the MaximumExecutionFrequency
/// parameter.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.ConfigService.MaximumExecutionFrequency")]
public Amazon.ConfigService.MaximumExecutionFrequency OrganizationCustomRuleMetadata_MaximumExecutionFrequency { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_MaximumExecutionFrequency
///
///
/// The maximum frequency with which Config runs evaluations for a rule. This is for an
/// Config managed rule that is triggered at a periodic frequency.By default, rules with a periodic trigger are evaluated every 24 hours. To change
/// the frequency, specify a valid value for the MaximumExecutionFrequency
/// parameter.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.ConfigService.MaximumExecutionFrequency")]
public Amazon.ConfigService.MaximumExecutionFrequency OrganizationManagedRuleMetadata_MaximumExecutionFrequency { get; set; }
#endregion
#region Parameter OrganizationConfigRuleName
///
///
/// The name that you assign to an organization Config rule.
///
///
#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 OrganizationConfigRuleName { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType
///
///
/// The type of notification that initiates Config to run an evaluation for a rule. For
/// Config Custom Policy rules, Config supports change-initiated notification types:ConfigurationItemChangeNotification
- Initiates an evaluation when Config
/// delivers a configuration item as a result of a resource change.OversizedConfigurationItemChangeNotification
- Initiates an evaluation
/// when Config delivers an oversized configuration item. Config may generate this notification
/// type when a resource changes and the notification exceeds the maximum size allowed
/// by Amazon SNS.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerTypes")]
public System.String[] OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType
///
///
/// The type of notification that triggers Config to run an evaluation for a rule. You
/// can specify the following notification types:ConfigurationItemChangeNotification
- Triggers an evaluation when Config
/// delivers a configuration item as a result of a resource change.OversizedConfigurationItemChangeNotification
- Triggers an evaluation
/// when Config delivers an oversized configuration item. Config may generate this notification
/// type when a resource changes and the notification exceeds the maximum size allowed
/// by Amazon SNS.ScheduledNotification
- Triggers a periodic evaluation at the frequency
/// specified for MaximumExecutionFrequency
.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerTypes")]
public System.String[] OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_PolicyRuntime
///
///
/// The runtime system for your organization Config Custom Policy rules. Guard is a policy-as-code
/// language that allows you to write policies that are enforced by Config Custom Policy
/// rules. For more information about Guard, see the Guard
/// GitHub Repository.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomPolicyRuleMetadata_PolicyRuntime { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_PolicyText
///
///
/// The policy definition containing the logic for your organization Config Custom Policy
/// rule.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomPolicyRuleMetadata_PolicyText { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_ResourceIdScope
///
///
/// The ID of the Amazon Web Services resource that was evaluated.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomPolicyRuleMetadata_ResourceIdScope { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_ResourceIdScope
///
///
/// The ID of the Amazon Web Services resource that was evaluated.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomRuleMetadata_ResourceIdScope { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_ResourceIdScope
///
///
/// The ID of the Amazon Web Services resource that was evaluated.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationManagedRuleMetadata_ResourceIdScope { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_ResourceTypesScope
///
///
/// The type of the Amazon Web Services resource that was evaluated.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String[] OrganizationCustomPolicyRuleMetadata_ResourceTypesScope { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_ResourceTypesScope
///
///
/// The type of the Amazon Web Services resource that was evaluated.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String[] OrganizationCustomRuleMetadata_ResourceTypesScope { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_ResourceTypesScope
///
///
/// The type of the Amazon Web Services resource that was evaluated.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String[] OrganizationManagedRuleMetadata_ResourceTypesScope { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_RuleIdentifier
///
///
/// For organization config managed rules, a predefined identifier from a list. For example,
/// IAM_PASSWORD_POLICY
is a managed rule. To reference a managed rule, see
/// Using
/// Config managed rules.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationManagedRuleMetadata_RuleIdentifier { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_TagKeyScope
///
///
/// One part of a key-value pair that make up a tag. A key is a general label that acts
/// like a category for more specific tag values.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomPolicyRuleMetadata_TagKeyScope { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_TagKeyScope
///
///
/// One part of a key-value pair that make up a tag. A key is a general label that acts
/// like a category for more specific tag values.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomRuleMetadata_TagKeyScope { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_TagKeyScope
///
///
/// One part of a key-value pair that make up a tag. A key is a general label that acts
/// like a category for more specific tag values.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationManagedRuleMetadata_TagKeyScope { get; set; }
#endregion
#region Parameter OrganizationCustomPolicyRuleMetadata_TagValueScope
///
///
/// The optional part of a key-value pair that make up a tag. A value acts as a descriptor
/// within a tag category (key).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomPolicyRuleMetadata_TagValueScope { get; set; }
#endregion
#region Parameter OrganizationCustomRuleMetadata_TagValueScope
///
///
/// The optional part of a key-value pair that make up a tag. A value acts as a descriptor
/// within a tag category (key).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationCustomRuleMetadata_TagValueScope { get; set; }
#endregion
#region Parameter OrganizationManagedRuleMetadata_TagValueScope
///
///
/// The optional part of a key-value pair that make up a tag. A value acts as a descriptor
/// within a tag category (key).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String OrganizationManagedRuleMetadata_TagValueScope { get; set; }
#endregion
#region Parameter Select
///
/// Use the -Select parameter to control the cmdlet output. The default value is 'OrganizationConfigRuleArn'.
/// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.ConfigService.Model.PutOrganizationConfigRuleResponse).
/// Specifying the name of a property of type Amazon.ConfigService.Model.PutOrganizationConfigRuleResponse 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; } = "OrganizationConfigRuleArn";
#endregion
#region Parameter PassThru
///
/// Changes the cmdlet behavior to return the value passed to the OrganizationConfigRuleName parameter.
/// The -PassThru parameter is deprecated, use -Select '^OrganizationConfigRuleName' instead. This parameter will be removed in a future version.
///
[System.Obsolete("The -PassThru parameter is deprecated, use -Select '^OrganizationConfigRuleName' 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.OrganizationConfigRuleName), MyInvocation.BoundParameters);
if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Write-CFGOrganizationConfigRule (PutOrganizationConfigRule)"))
{
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.OrganizationConfigRuleName;
}
#pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute
if (this.ExcludedAccount != null)
{
context.ExcludedAccount = new List(this.ExcludedAccount);
}
context.OrganizationConfigRuleName = this.OrganizationConfigRuleName;
#if MODULAR
if (this.OrganizationConfigRuleName == null && ParameterWasBound(nameof(this.OrganizationConfigRuleName)))
{
WriteWarning("You are passing $null as a value for parameter OrganizationConfigRuleName which is marked as required. In case you 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.OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount != null)
{
context.OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount = new List(this.OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount);
}
context.OrganizationCustomPolicyRuleMetadata_Description = this.OrganizationCustomPolicyRuleMetadata_Description;
context.OrganizationCustomPolicyRuleMetadata_InputParameter = this.OrganizationCustomPolicyRuleMetadata_InputParameter;
context.OrganizationCustomPolicyRuleMetadata_MaximumExecutionFrequency = this.OrganizationCustomPolicyRuleMetadata_MaximumExecutionFrequency;
if (this.OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType != null)
{
context.OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType = new List(this.OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType);
}
context.OrganizationCustomPolicyRuleMetadata_PolicyRuntime = this.OrganizationCustomPolicyRuleMetadata_PolicyRuntime;
context.OrganizationCustomPolicyRuleMetadata_PolicyText = this.OrganizationCustomPolicyRuleMetadata_PolicyText;
context.OrganizationCustomPolicyRuleMetadata_ResourceIdScope = this.OrganizationCustomPolicyRuleMetadata_ResourceIdScope;
if (this.OrganizationCustomPolicyRuleMetadata_ResourceTypesScope != null)
{
context.OrganizationCustomPolicyRuleMetadata_ResourceTypesScope = new List(this.OrganizationCustomPolicyRuleMetadata_ResourceTypesScope);
}
context.OrganizationCustomPolicyRuleMetadata_TagKeyScope = this.OrganizationCustomPolicyRuleMetadata_TagKeyScope;
context.OrganizationCustomPolicyRuleMetadata_TagValueScope = this.OrganizationCustomPolicyRuleMetadata_TagValueScope;
context.OrganizationCustomRuleMetadata_Description = this.OrganizationCustomRuleMetadata_Description;
context.OrganizationCustomRuleMetadata_InputParameter = this.OrganizationCustomRuleMetadata_InputParameter;
context.OrganizationCustomRuleMetadata_LambdaFunctionArn = this.OrganizationCustomRuleMetadata_LambdaFunctionArn;
context.OrganizationCustomRuleMetadata_MaximumExecutionFrequency = this.OrganizationCustomRuleMetadata_MaximumExecutionFrequency;
if (this.OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType != null)
{
context.OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType = new List(this.OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType);
}
context.OrganizationCustomRuleMetadata_ResourceIdScope = this.OrganizationCustomRuleMetadata_ResourceIdScope;
if (this.OrganizationCustomRuleMetadata_ResourceTypesScope != null)
{
context.OrganizationCustomRuleMetadata_ResourceTypesScope = new List(this.OrganizationCustomRuleMetadata_ResourceTypesScope);
}
context.OrganizationCustomRuleMetadata_TagKeyScope = this.OrganizationCustomRuleMetadata_TagKeyScope;
context.OrganizationCustomRuleMetadata_TagValueScope = this.OrganizationCustomRuleMetadata_TagValueScope;
context.OrganizationManagedRuleMetadata_Description = this.OrganizationManagedRuleMetadata_Description;
context.OrganizationManagedRuleMetadata_InputParameter = this.OrganizationManagedRuleMetadata_InputParameter;
context.OrganizationManagedRuleMetadata_MaximumExecutionFrequency = this.OrganizationManagedRuleMetadata_MaximumExecutionFrequency;
context.OrganizationManagedRuleMetadata_ResourceIdScope = this.OrganizationManagedRuleMetadata_ResourceIdScope;
if (this.OrganizationManagedRuleMetadata_ResourceTypesScope != null)
{
context.OrganizationManagedRuleMetadata_ResourceTypesScope = new List(this.OrganizationManagedRuleMetadata_ResourceTypesScope);
}
context.OrganizationManagedRuleMetadata_RuleIdentifier = this.OrganizationManagedRuleMetadata_RuleIdentifier;
context.OrganizationManagedRuleMetadata_TagKeyScope = this.OrganizationManagedRuleMetadata_TagKeyScope;
context.OrganizationManagedRuleMetadata_TagValueScope = this.OrganizationManagedRuleMetadata_TagValueScope;
// 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.ConfigService.Model.PutOrganizationConfigRuleRequest();
if (cmdletContext.ExcludedAccount != null)
{
request.ExcludedAccounts = cmdletContext.ExcludedAccount;
}
if (cmdletContext.OrganizationConfigRuleName != null)
{
request.OrganizationConfigRuleName = cmdletContext.OrganizationConfigRuleName;
}
// populate OrganizationCustomPolicyRuleMetadata
var requestOrganizationCustomPolicyRuleMetadataIsNull = true;
request.OrganizationCustomPolicyRuleMetadata = new Amazon.ConfigService.Model.OrganizationCustomPolicyRuleMetadata();
List requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount = cmdletContext.OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount != null)
{
request.OrganizationCustomPolicyRuleMetadata.DebugLogDeliveryAccounts = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_Description = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_Description != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_Description = cmdletContext.OrganizationCustomPolicyRuleMetadata_Description;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_Description != null)
{
request.OrganizationCustomPolicyRuleMetadata.Description = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_Description;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_InputParameter = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_InputParameter != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_InputParameter = cmdletContext.OrganizationCustomPolicyRuleMetadata_InputParameter;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_InputParameter != null)
{
request.OrganizationCustomPolicyRuleMetadata.InputParameters = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_InputParameter;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
Amazon.ConfigService.MaximumExecutionFrequency requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_MaximumExecutionFrequency = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_MaximumExecutionFrequency != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_MaximumExecutionFrequency = cmdletContext.OrganizationCustomPolicyRuleMetadata_MaximumExecutionFrequency;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_MaximumExecutionFrequency != null)
{
request.OrganizationCustomPolicyRuleMetadata.MaximumExecutionFrequency = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_MaximumExecutionFrequency;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
List requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType = cmdletContext.OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType != null)
{
request.OrganizationCustomPolicyRuleMetadata.OrganizationConfigRuleTriggerTypes = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyRuntime = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_PolicyRuntime != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyRuntime = cmdletContext.OrganizationCustomPolicyRuleMetadata_PolicyRuntime;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyRuntime != null)
{
request.OrganizationCustomPolicyRuleMetadata.PolicyRuntime = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyRuntime;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyText = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_PolicyText != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyText = cmdletContext.OrganizationCustomPolicyRuleMetadata_PolicyText;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyText != null)
{
request.OrganizationCustomPolicyRuleMetadata.PolicyText = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_PolicyText;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceIdScope = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_ResourceIdScope != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceIdScope = cmdletContext.OrganizationCustomPolicyRuleMetadata_ResourceIdScope;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceIdScope != null)
{
request.OrganizationCustomPolicyRuleMetadata.ResourceIdScope = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceIdScope;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
List requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceTypesScope = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_ResourceTypesScope != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceTypesScope = cmdletContext.OrganizationCustomPolicyRuleMetadata_ResourceTypesScope;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceTypesScope != null)
{
request.OrganizationCustomPolicyRuleMetadata.ResourceTypesScope = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_ResourceTypesScope;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagKeyScope = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_TagKeyScope != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagKeyScope = cmdletContext.OrganizationCustomPolicyRuleMetadata_TagKeyScope;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagKeyScope != null)
{
request.OrganizationCustomPolicyRuleMetadata.TagKeyScope = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagKeyScope;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagValueScope = null;
if (cmdletContext.OrganizationCustomPolicyRuleMetadata_TagValueScope != null)
{
requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagValueScope = cmdletContext.OrganizationCustomPolicyRuleMetadata_TagValueScope;
}
if (requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagValueScope != null)
{
request.OrganizationCustomPolicyRuleMetadata.TagValueScope = requestOrganizationCustomPolicyRuleMetadata_organizationCustomPolicyRuleMetadata_TagValueScope;
requestOrganizationCustomPolicyRuleMetadataIsNull = false;
}
// determine if request.OrganizationCustomPolicyRuleMetadata should be set to null
if (requestOrganizationCustomPolicyRuleMetadataIsNull)
{
request.OrganizationCustomPolicyRuleMetadata = null;
}
// populate OrganizationCustomRuleMetadata
var requestOrganizationCustomRuleMetadataIsNull = true;
request.OrganizationCustomRuleMetadata = new Amazon.ConfigService.Model.OrganizationCustomRuleMetadata();
System.String requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_Description = null;
if (cmdletContext.OrganizationCustomRuleMetadata_Description != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_Description = cmdletContext.OrganizationCustomRuleMetadata_Description;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_Description != null)
{
request.OrganizationCustomRuleMetadata.Description = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_Description;
requestOrganizationCustomRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_InputParameter = null;
if (cmdletContext.OrganizationCustomRuleMetadata_InputParameter != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_InputParameter = cmdletContext.OrganizationCustomRuleMetadata_InputParameter;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_InputParameter != null)
{
request.OrganizationCustomRuleMetadata.InputParameters = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_InputParameter;
requestOrganizationCustomRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_LambdaFunctionArn = null;
if (cmdletContext.OrganizationCustomRuleMetadata_LambdaFunctionArn != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_LambdaFunctionArn = cmdletContext.OrganizationCustomRuleMetadata_LambdaFunctionArn;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_LambdaFunctionArn != null)
{
request.OrganizationCustomRuleMetadata.LambdaFunctionArn = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_LambdaFunctionArn;
requestOrganizationCustomRuleMetadataIsNull = false;
}
Amazon.ConfigService.MaximumExecutionFrequency requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_MaximumExecutionFrequency = null;
if (cmdletContext.OrganizationCustomRuleMetadata_MaximumExecutionFrequency != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_MaximumExecutionFrequency = cmdletContext.OrganizationCustomRuleMetadata_MaximumExecutionFrequency;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_MaximumExecutionFrequency != null)
{
request.OrganizationCustomRuleMetadata.MaximumExecutionFrequency = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_MaximumExecutionFrequency;
requestOrganizationCustomRuleMetadataIsNull = false;
}
List requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_OrganizationConfigRuleTriggerType = null;
if (cmdletContext.OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_OrganizationConfigRuleTriggerType = cmdletContext.OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_OrganizationConfigRuleTriggerType != null)
{
request.OrganizationCustomRuleMetadata.OrganizationConfigRuleTriggerTypes = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_OrganizationConfigRuleTriggerType;
requestOrganizationCustomRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceIdScope = null;
if (cmdletContext.OrganizationCustomRuleMetadata_ResourceIdScope != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceIdScope = cmdletContext.OrganizationCustomRuleMetadata_ResourceIdScope;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceIdScope != null)
{
request.OrganizationCustomRuleMetadata.ResourceIdScope = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceIdScope;
requestOrganizationCustomRuleMetadataIsNull = false;
}
List requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceTypesScope = null;
if (cmdletContext.OrganizationCustomRuleMetadata_ResourceTypesScope != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceTypesScope = cmdletContext.OrganizationCustomRuleMetadata_ResourceTypesScope;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceTypesScope != null)
{
request.OrganizationCustomRuleMetadata.ResourceTypesScope = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_ResourceTypesScope;
requestOrganizationCustomRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagKeyScope = null;
if (cmdletContext.OrganizationCustomRuleMetadata_TagKeyScope != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagKeyScope = cmdletContext.OrganizationCustomRuleMetadata_TagKeyScope;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagKeyScope != null)
{
request.OrganizationCustomRuleMetadata.TagKeyScope = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagKeyScope;
requestOrganizationCustomRuleMetadataIsNull = false;
}
System.String requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagValueScope = null;
if (cmdletContext.OrganizationCustomRuleMetadata_TagValueScope != null)
{
requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagValueScope = cmdletContext.OrganizationCustomRuleMetadata_TagValueScope;
}
if (requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagValueScope != null)
{
request.OrganizationCustomRuleMetadata.TagValueScope = requestOrganizationCustomRuleMetadata_organizationCustomRuleMetadata_TagValueScope;
requestOrganizationCustomRuleMetadataIsNull = false;
}
// determine if request.OrganizationCustomRuleMetadata should be set to null
if (requestOrganizationCustomRuleMetadataIsNull)
{
request.OrganizationCustomRuleMetadata = null;
}
// populate OrganizationManagedRuleMetadata
var requestOrganizationManagedRuleMetadataIsNull = true;
request.OrganizationManagedRuleMetadata = new Amazon.ConfigService.Model.OrganizationManagedRuleMetadata();
System.String requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_Description = null;
if (cmdletContext.OrganizationManagedRuleMetadata_Description != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_Description = cmdletContext.OrganizationManagedRuleMetadata_Description;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_Description != null)
{
request.OrganizationManagedRuleMetadata.Description = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_Description;
requestOrganizationManagedRuleMetadataIsNull = false;
}
System.String requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_InputParameter = null;
if (cmdletContext.OrganizationManagedRuleMetadata_InputParameter != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_InputParameter = cmdletContext.OrganizationManagedRuleMetadata_InputParameter;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_InputParameter != null)
{
request.OrganizationManagedRuleMetadata.InputParameters = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_InputParameter;
requestOrganizationManagedRuleMetadataIsNull = false;
}
Amazon.ConfigService.MaximumExecutionFrequency requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_MaximumExecutionFrequency = null;
if (cmdletContext.OrganizationManagedRuleMetadata_MaximumExecutionFrequency != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_MaximumExecutionFrequency = cmdletContext.OrganizationManagedRuleMetadata_MaximumExecutionFrequency;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_MaximumExecutionFrequency != null)
{
request.OrganizationManagedRuleMetadata.MaximumExecutionFrequency = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_MaximumExecutionFrequency;
requestOrganizationManagedRuleMetadataIsNull = false;
}
System.String requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceIdScope = null;
if (cmdletContext.OrganizationManagedRuleMetadata_ResourceIdScope != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceIdScope = cmdletContext.OrganizationManagedRuleMetadata_ResourceIdScope;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceIdScope != null)
{
request.OrganizationManagedRuleMetadata.ResourceIdScope = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceIdScope;
requestOrganizationManagedRuleMetadataIsNull = false;
}
List requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceTypesScope = null;
if (cmdletContext.OrganizationManagedRuleMetadata_ResourceTypesScope != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceTypesScope = cmdletContext.OrganizationManagedRuleMetadata_ResourceTypesScope;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceTypesScope != null)
{
request.OrganizationManagedRuleMetadata.ResourceTypesScope = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_ResourceTypesScope;
requestOrganizationManagedRuleMetadataIsNull = false;
}
System.String requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_RuleIdentifier = null;
if (cmdletContext.OrganizationManagedRuleMetadata_RuleIdentifier != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_RuleIdentifier = cmdletContext.OrganizationManagedRuleMetadata_RuleIdentifier;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_RuleIdentifier != null)
{
request.OrganizationManagedRuleMetadata.RuleIdentifier = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_RuleIdentifier;
requestOrganizationManagedRuleMetadataIsNull = false;
}
System.String requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagKeyScope = null;
if (cmdletContext.OrganizationManagedRuleMetadata_TagKeyScope != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagKeyScope = cmdletContext.OrganizationManagedRuleMetadata_TagKeyScope;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagKeyScope != null)
{
request.OrganizationManagedRuleMetadata.TagKeyScope = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagKeyScope;
requestOrganizationManagedRuleMetadataIsNull = false;
}
System.String requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagValueScope = null;
if (cmdletContext.OrganizationManagedRuleMetadata_TagValueScope != null)
{
requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagValueScope = cmdletContext.OrganizationManagedRuleMetadata_TagValueScope;
}
if (requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagValueScope != null)
{
request.OrganizationManagedRuleMetadata.TagValueScope = requestOrganizationManagedRuleMetadata_organizationManagedRuleMetadata_TagValueScope;
requestOrganizationManagedRuleMetadataIsNull = false;
}
// determine if request.OrganizationManagedRuleMetadata should be set to null
if (requestOrganizationManagedRuleMetadataIsNull)
{
request.OrganizationManagedRuleMetadata = 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.ConfigService.Model.PutOrganizationConfigRuleResponse CallAWSServiceOperation(IAmazonConfigService client, Amazon.ConfigService.Model.PutOrganizationConfigRuleRequest request)
{
Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Config", "PutOrganizationConfigRule");
try
{
#if DESKTOP
return client.PutOrganizationConfigRule(request);
#elif CORECLR
return client.PutOrganizationConfigRuleAsync(request).GetAwaiter().GetResult();
#else
#error "Unknown build edition"
#endif
}
catch (AmazonServiceException exc)
{
var webException = exc.InnerException as System.Net.WebException;
if (webException != null)
{
throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
}
throw;
}
}
#endregion
internal partial class CmdletContext : ExecutorContext
{
public List ExcludedAccount { get; set; }
public System.String OrganizationConfigRuleName { get; set; }
public List OrganizationCustomPolicyRuleMetadata_DebugLogDeliveryAccount { get; set; }
public System.String OrganizationCustomPolicyRuleMetadata_Description { get; set; }
public System.String OrganizationCustomPolicyRuleMetadata_InputParameter { get; set; }
public Amazon.ConfigService.MaximumExecutionFrequency OrganizationCustomPolicyRuleMetadata_MaximumExecutionFrequency { get; set; }
public List OrganizationCustomPolicyRuleMetadata_OrganizationConfigRuleTriggerType { get; set; }
public System.String OrganizationCustomPolicyRuleMetadata_PolicyRuntime { get; set; }
public System.String OrganizationCustomPolicyRuleMetadata_PolicyText { get; set; }
public System.String OrganizationCustomPolicyRuleMetadata_ResourceIdScope { get; set; }
public List OrganizationCustomPolicyRuleMetadata_ResourceTypesScope { get; set; }
public System.String OrganizationCustomPolicyRuleMetadata_TagKeyScope { get; set; }
public System.String OrganizationCustomPolicyRuleMetadata_TagValueScope { get; set; }
public System.String OrganizationCustomRuleMetadata_Description { get; set; }
public System.String OrganizationCustomRuleMetadata_InputParameter { get; set; }
public System.String OrganizationCustomRuleMetadata_LambdaFunctionArn { get; set; }
public Amazon.ConfigService.MaximumExecutionFrequency OrganizationCustomRuleMetadata_MaximumExecutionFrequency { get; set; }
public List OrganizationCustomRuleMetadata_OrganizationConfigRuleTriggerType { get; set; }
public System.String OrganizationCustomRuleMetadata_ResourceIdScope { get; set; }
public List OrganizationCustomRuleMetadata_ResourceTypesScope { get; set; }
public System.String OrganizationCustomRuleMetadata_TagKeyScope { get; set; }
public System.String OrganizationCustomRuleMetadata_TagValueScope { get; set; }
public System.String OrganizationManagedRuleMetadata_Description { get; set; }
public System.String OrganizationManagedRuleMetadata_InputParameter { get; set; }
public Amazon.ConfigService.MaximumExecutionFrequency OrganizationManagedRuleMetadata_MaximumExecutionFrequency { get; set; }
public System.String OrganizationManagedRuleMetadata_ResourceIdScope { get; set; }
public List OrganizationManagedRuleMetadata_ResourceTypesScope { get; set; }
public System.String OrganizationManagedRuleMetadata_RuleIdentifier { get; set; }
public System.String OrganizationManagedRuleMetadata_TagKeyScope { get; set; }
public System.String OrganizationManagedRuleMetadata_TagValueScope { get; set; }
public System.Func Select { get; set; } =
(response, cmdlet) => response.OrganizationConfigRuleArn;
}
}
}