:doc:`ConfigService <../../config>` / Client / put_organization_conformance_pack

*********************************
put_organization_conformance_pack
*********************************



.. py:method:: ConfigService.Client.put_organization_conformance_pack(**kwargs)

  

  Deploys conformance packs across member accounts in an Amazon Web Services Organization. For information on how many organization conformance packs and how many Config rules you can have per account, see `**Service Limits** <https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html>`__ in the *Config Developer Guide*.

   

  Only a management account and a delegated administrator can call this API. 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.

   

  .. warning::

     

    When you use ``PutOrganizationConformancePack`` to deploy conformance packs across member accounts, the operation can create Config rules and remediation actions without requiring ``config:PutConfigRule`` or ``config:PutRemediationConfigurations`` permissions in member account IAM policies.

     

    This API uses the ``AWSServiceRoleForConfigConforms`` service-linked role in each member account to create conformance pack resources. This service-linked role includes the permissions to create Config rules and remediation configurations, even if member account IAM policies explicitly deny these actions.

     

   

  This API enables organization service access for ``config-multiaccountsetup.amazonaws.com`` 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. To use this API with delegated administrator, register a delegated administrator by calling Amazon Web Services Organization ``register-delegate-admin`` for ``config-multiaccountsetup.amazonaws.com``.

   

  .. note::

    

    Prerequisite: Ensure you call ``EnableAllFeatures`` API to enable all features in an organization.

     

    You must specify either the ``TemplateS3Uri`` or the ``TemplateBody`` parameter, but not both. If you provide both Config uses the ``TemplateS3Uri`` parameter and ignores the ``TemplateBody`` parameter.

     

    Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS until the conformance pack is created or updated. You cannot update a conformance pack while it is in this state.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConformancePack>`_  


  **Request Syntax**
  ::

    response = client.put_organization_conformance_pack(
        OrganizationConformancePackName='string',
        TemplateS3Uri='string',
        TemplateBody='string',
        DeliveryS3Bucket='string',
        DeliveryS3KeyPrefix='string',
        ConformancePackInputParameters=[
            {
                'ParameterName': 'string',
                'ParameterValue': 'string'
            },
        ],
        ExcludedAccounts=[
            'string',
        ]
    )
    
  :type OrganizationConformancePackName: string
  :param OrganizationConformancePackName: **[REQUIRED]** 

    Name of the organization conformance pack you want to create.

    

  
  :type TemplateS3Uri: string
  :param TemplateS3Uri: 

    Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB).

     

    .. note::

      

      You must have access to read Amazon S3 bucket. In addition, in order to ensure a successful deployment, the template object must not be in an `archived storage class <https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html>`__ if this parameter is passed.

      

    

  
  :type TemplateBody: string
  :param TemplateBody: 

    A string that contains the full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

    

  
  :type DeliveryS3Bucket: string
  :param DeliveryS3Bucket: 

    The name of the Amazon S3 bucket where Config stores conformance pack templates.

     

    .. note::

      

      This field is optional. If used, it must be prefixed with ``awsconfigconforms``.

      

    

  
  :type DeliveryS3KeyPrefix: string
  :param DeliveryS3KeyPrefix: 

    The prefix for the Amazon S3 bucket.

     

    .. note::

      

      This field is optional.

      

    

  
  :type ConformancePackInputParameters: list
  :param ConformancePackInputParameters: 

    A list of ``ConformancePackInputParameter`` objects.

    

  
    - *(dict) --* 

      Input parameters in the form of key-value pairs for the conformance pack, both of which you define. Keys can have a maximum character length of 255 characters, and values can have a maximum length of 4096 characters.

      

    
      - **ParameterName** *(string) --* **[REQUIRED]** 

        One part of a key-value pair.

        

      
      - **ParameterValue** *(string) --* **[REQUIRED]** 

        Another part of the key-value pair.

        

      
    

  :type ExcludedAccounts: list
  :param ExcludedAccounts: 

    A list of Amazon Web Services accounts to be excluded from an organization conformance pack while deploying a conformance pack.

    

  
    - *(string) --* 

    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'OrganizationConformancePackArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **OrganizationConformancePackArn** *(string) --* 

        ARN of the organization conformance pack.

        
  
  **Exceptions**
  
  *   :py:class:`ConfigService.Client.exceptions.MaxNumberOfOrganizationConformancePacksExceededException`

  
  *   :py:class:`ConfigService.Client.exceptions.ResourceInUseException`

  
  *   :py:class:`ConfigService.Client.exceptions.ValidationException`

  
  *   :py:class:`ConfigService.Client.exceptions.OrganizationAccessDeniedException`

  
  *   :py:class:`ConfigService.Client.exceptions.InsufficientPermissionsException`

  
  *   :py:class:`ConfigService.Client.exceptions.OrganizationConformancePackTemplateValidationException`

  
  *   :py:class:`ConfigService.Client.exceptions.OrganizationAllFeaturesNotEnabledException`

  
  *   :py:class:`ConfigService.Client.exceptions.NoAvailableOrganizationException`

  