def tag_resources()

in remediation/terraform/fc/fc_function_for_kms_tag.py [0:0]


def tag_resources(context, resource_id, resource_type, region_id):
    config = open_api_models.Config(
            access_key_id = sts_access_key_id,
            access_key_secret = sts_access_key_secret,
            security_token = sts_security_token
    )
    logger.info(f'check {region_id}')
    config.endpoint = f'kms.{region_id}.aliyuncs.com'
    client = OpenApiClient(config)

    params = open_api_models.Params(
        action='TagResource',
        version='2016-01-20',
        protocol='HTTPS',
        method='POST',
        auth_type='AK',
        style='RPC',
        pathname=f'/',
        req_body_type='json',
        body_type='json'
    )
    resource_type_params = 'KeyId' if resource_type == 'ACS::KMS::Key' else 'SecretName'
    queries = {resource_type_params: resource_id,
               'Tags': DESIRED_TAG}
    # runtime options
    runtime = util_models.RuntimeOptions()
    request = open_api_models.OpenApiRequest(
        query=OpenApiUtilClient.query(queries)
    )
    try:
        response = client.call_api(params, request, runtime)
        logger.info('tag_resources with request: {}, response: {}.'.format(request, response))
    except Exception as e:
          logger.error('tag_resources error: %s' % e)