def request_vpc_peering_connection(name, requester_vpc_id=None, requester_vpc_name=None,
                                   peer_vpc_id=None, peer_vpc_name=None, conn_name=None,
                                   peer_owner_id=None, peer_region=None, region=None,
                                   key=None, keyid=None, profile=None):
    '''
    name
        Name of the state

    requester_vpc_id
        ID of the requesting VPC. Exclusive with requester_vpc_name. String type.

    requester_vpc_name
        Name tag of the requesting VPC.  Exclusive with requester_vpc_id.  String type.

    peer_vpc_id
        ID of the VPC tp crete VPC peering connection with.  This can be a VPC in another account. Exclusive with peer_vpc_name. String type.

    peer_vpc_name
        Name tag of the VPC tp crete VPC peering connection with.  This can only be a VPC the same account and region. Exclusive with peer_vpc_id.  String type.

    conn_name
        The (optional) name to use for this VPC peering connection. String type.

    peer_owner_id
        ID of the owner of the peer VPC. String type. If this isn't supplied AWS uses your account ID.  Required if peering to a different account.

    peer_region
        Region of peer VPC. For inter-region vpc peering connections. Not required for intra-region peering connections.

    region
        Region to connect to.

    key
        Secret key to be used.

    keyid
        Access key to be used.

    profile
        A dict with region, key and keyid, or a pillar key (string) that
        contains a dict with region, key and keyid.

    .. versionadded:: 2016.11.0

    Example:

    .. code-block:: yaml

        request a vpc peering connection:
          boto_vpc.request_vpc_peering_connection:
            - requester_vpc_id: vpc-4b3522e
            - peer_vpc_id: vpc-ae83f9ca
            - conn_name: salt_peering_connection

    '''
    log.debug('Called state to request VPC peering connection')
    ret = {
        'name': name,
        'result': True,
        'changes': {},
        'comment': 'Boto VPC peering state'
    }
    if conn_name:
        vpc_ids = __salt__['boto_vpc.describe_vpc_peering_connection'](
            conn_name,
            region=region,
            key=key,
            keyid=keyid,
            profile=profile
        ).get('VPC-Peerings', [])
    else:
        vpc_ids = []

    if vpc_ids:
        ret['comment'] = ('VPC peering connection already exists, '
                          'nothing to be done.')
        return ret

    if __opts__['test']:
        if not vpc_ids:
            ret['comment'] = 'VPC peering connection will be created'
        return ret

    log.debug('Called module to create VPC peering connection')

    result = __salt__['boto_vpc.request_vpc_peering_connection'](
        requester_vpc_id,
        requester_vpc_name,
        peer_vpc_id,
        peer_vpc_name,
        name=conn_name,
        peer_owner_id=peer_owner_id,
        peer_region=peer_region,
        region=region,
        key=key,
        keyid=keyid,
        profile=profile
    )

    if 'error' in result:
        ret['comment'] = "Failed to request VPC peering: {0}".format(result['error'])
        ret['result'] = False
        return ret

    ret['changes'].update({
        'old': '',
        'new': result['msg']
    })
    return ret
def request_vpc_peering_connection ( name , requester_vpc_id = None , requester_vpc_name = None , peer_vpc_id = None , peer_vpc_name = None , conn_name = None , peer_owner_id = None , peer_region = None , region = None , key = None , keyid = None , profile = None ) : log . debug ( 'Called state to request VPC peering connection' ) ret = { 'name' : name , 'result' : True , 'changes' : { } , 'comment' : 'Boto VPC peering state' } if conn_name : vpc_ids = __salt__ [ 'boto_vpc.describe_vpc_peering_connection' ] ( conn_name , region = region , key = key , keyid = keyid , profile = profile ) . get ( 'VPC-Peerings' , [ ] ) else : vpc_ids = [ ] if vpc_ids : ret [ 'comment' ] = ( 'VPC peering connection already exists, ' 'nothing to be done.' ) return ret if __opts__ [ 'test' ] : if not vpc_ids : ret [ 'comment' ] = 'VPC peering connection will be created' return ret log . debug ( 'Called module to create VPC peering connection' ) result = __salt__ [ 'boto_vpc.request_vpc_peering_connection' ] ( requester_vpc_id , requester_vpc_name , peer_vpc_id , peer_vpc_name , name = conn_name , peer_owner_id = peer_owner_id , peer_region = peer_region , region = region , key = key , keyid = keyid , profile = profile ) if 'error' in result : ret [ 'comment' ] = "Failed to request VPC peering: {0}" . format ( result [ 'error' ] ) ret [ 'result' ] = False return ret ret [ 'changes' ] . update ( { 'old' : '' , 'new' : result [ 'msg' ] } ) return ret
name
        Name of the state

    requester_vpc_id
        ID of the requesting VPC. Exclusive with requester_vpc_name. String type.

    requester_vpc_name
        Name tag of the requesting VPC.  Exclusive with requester_vpc_id.  String type.

    peer_vpc_id
        ID of the VPC tp crete VPC peering connection with.  This can be a VPC in another account. Exclusive with peer_vpc_name. String type.

    peer_vpc_name
        Name tag of the VPC tp crete VPC peering connection with.  This can only be a VPC the same account and region. Exclusive with peer_vpc_id.  String type.

    conn_name
        The (optional) name to use for this VPC peering connection. String type.

    peer_owner_id
        ID of the owner of the peer VPC. String type. If this isn't supplied AWS uses your account ID.  Required if peering to a different account.

    peer_region
        Region of peer VPC. For inter-region vpc peering connections. Not required for intra-region peering connections.

    region
        Region to connect to.

    key
        Secret key to be used.

    keyid
        Access key to be used.

    profile
        A dict with region, key and keyid, or a pillar key (string) that
        contains a dict with region, key and keyid.

    .. versionadded:: 2016.11.0

    Example:

    .. code-block:: yaml

        request a vpc peering connection:
          boto_vpc.request_vpc_peering_connection:
            - requester_vpc_id: vpc-4b3522e
            - peer_vpc_id: vpc-ae83f9ca
            - conn_name: salt_peering_connection