:doc:`VPCLattice <../../vpc-lattice>` / Client / update_resource_configuration

*****************************
update_resource_configuration
*****************************



.. py:method:: VPCLattice.Client.update_resource_configuration(**kwargs)

  

  Updates the specified resource configuration.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateResourceConfiguration>`_  


  **Request Syntax**
  ::

    response = client.update_resource_configuration(
        resourceConfigurationIdentifier='string',
        resourceConfigurationDefinition={
            'dnsResource': {
                'domainName': 'string',
                'ipAddressType': 'IPV4'|'IPV6'|'DUALSTACK'
            },
            'ipResource': {
                'ipAddress': 'string'
            },
            'arnResource': {
                'arn': 'string'
            }
        },
        allowAssociationToShareableServiceNetwork=True|False,
        portRanges=[
            'string',
        ]
    )
    
  :type resourceConfigurationIdentifier: string
  :param resourceConfigurationIdentifier: **[REQUIRED]** 

    The ID of the resource configuration.

    

  
  :type resourceConfigurationDefinition: dict
  :param resourceConfigurationDefinition: 

    Identifies the resource configuration in one of the following ways:

     

    
    * **Amazon Resource Name (ARN)** - Supported resource-types that are provisioned by Amazon Web Services services, such as RDS databases, can be identified by their ARN.
     
    * **Domain name** - Any domain name that is publicly resolvable.
     
    * **IP address** - For IPv4 and IPv6, only IP addresses in the VPC are supported.
    

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``dnsResource``, ``ipResource``, ``arnResource``. 

  
    - **dnsResource** *(dict) --* 

      The DNS name of the resource.

      

    
      - **domainName** *(string) --* 

        The domain name of the resource.

        

      
      - **ipAddressType** *(string) --* 

        The type of IP address. Dualstack is currently not supported.

        

      
    
    - **ipResource** *(dict) --* 

      The IP resource.

      

    
      - **ipAddress** *(string) --* 

        The IP address of the IP resource.

        

      
    
    - **arnResource** *(dict) --* 

      The Amazon Resource Name (ARN) of the resource.

      

    
      - **arn** *(string) --* 

        The Amazon Resource Name (ARN) of the resource.

        

      
    
  
  :type allowAssociationToShareableServiceNetwork: boolean
  :param allowAssociationToShareableServiceNetwork: 

    Indicates whether to add the resource configuration to service networks that are shared with other accounts.

    

  
  :type portRanges: list
  :param portRanges: 

    The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

    

  
    - *(string) --* 

    

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

    
    ::

      {
          'id': 'string',
          'name': 'string',
          'arn': 'string',
          'resourceGatewayId': 'string',
          'resourceConfigurationGroupId': 'string',
          'type': 'GROUP'|'CHILD'|'SINGLE'|'ARN',
          'portRanges': [
              'string',
          ],
          'allowAssociationToShareableServiceNetwork': True|False,
          'protocol': 'TCP',
          'status': 'ACTIVE'|'CREATE_IN_PROGRESS'|'UPDATE_IN_PROGRESS'|'DELETE_IN_PROGRESS'|'CREATE_FAILED'|'UPDATE_FAILED'|'DELETE_FAILED',
          'resourceConfigurationDefinition': {
              'dnsResource': {
                  'domainName': 'string',
                  'ipAddressType': 'IPV4'|'IPV6'|'DUALSTACK'
              },
              'ipResource': {
                  'ipAddress': 'string'
              },
              'arnResource': {
                  'arn': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **id** *(string) --* 

        The ID of the resource configuration.

        
      

      - **name** *(string) --* 

        The name of the resource configuration.

        
      

      - **arn** *(string) --* 

        The Amazon Resource Name (ARN) of the resource configuration.

        
      

      - **resourceGatewayId** *(string) --* 

        The ID of the resource gateway associated with the resource configuration.

        
      

      - **resourceConfigurationGroupId** *(string) --* 

        The ID of the group resource configuration.

        
      

      - **type** *(string) --* 

        The type of resource configuration.

         

        
        * ``SINGLE`` - A single resource.
         
        * ``GROUP`` - A group of resources.
         
        * ``CHILD`` - A single resource that is part of a group resource configuration.
         
        * ``ARN`` - An Amazon Web Services resource.
        

        
      

      - **portRanges** *(list) --* 

        The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

        
        

        - *(string) --* 
    
      

      - **allowAssociationToShareableServiceNetwork** *(boolean) --* 

        Indicates whether to add the resource configuration to service networks that are shared with other accounts.

        
      

      - **protocol** *(string) --* 

        The TCP protocol accepted by the specified resource configuration.

        
      

      - **status** *(string) --* 

        The status of the resource configuration.

        
      

      - **resourceConfigurationDefinition** *(dict) --* 

        The resource configuration.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``dnsResource``, ``ipResource``, ``arnResource``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


      
        

        - **dnsResource** *(dict) --* 

          The DNS name of the resource.

          
          

          - **domainName** *(string) --* 

            The domain name of the resource.

            
          

          - **ipAddressType** *(string) --* 

            The type of IP address. Dualstack is currently not supported.

            
      
        

        - **ipResource** *(dict) --* 

          The IP resource.

          
          

          - **ipAddress** *(string) --* 

            The IP address of the IP resource.

            
      
        

        - **arnResource** *(dict) --* 

          The Amazon Resource Name (ARN) of the resource.

          
          

          - **arn** *(string) --* 

            The Amazon Resource Name (ARN) of the resource.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`VPCLattice.Client.exceptions.ValidationException`

  
  *   :py:class:`VPCLattice.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`VPCLattice.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`VPCLattice.Client.exceptions.ThrottlingException`

  
  *   :py:class:`VPCLattice.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`VPCLattice.Client.exceptions.InternalServerException`

  