本文整理汇总了Python中botocore.client方法的典型用法代码示例。如果您正苦于以下问题:Python botocore.client方法的具体用法?Python botocore.client怎么用?Python botocore.client使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类botocore
的用法示例。
在下文中一共展示了botocore.client方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: fake_kms_client
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def fake_kms_client(keysize=32):
mock_kms_client = MagicMock(__class__=botocore.client.BaseClient)
mock_kms_client.generate_data_key.return_value = {
"Plaintext": VALUES["data_keys"][keysize]["plaintext"],
"CiphertextBlob": VALUES["data_keys"][keysize]["encrypted"],
"KeyId": VALUES["arn"],
}
mock_kms_client.encrypt.return_value = {
"CiphertextBlob": VALUES["data_keys"][keysize]["encrypted"],
"KeyId": VALUES["arn"],
}
mock_kms_client.decrypt.return_value = {
"Plaintext": VALUES["data_keys"][keysize]["plaintext"],
"KeyId": VALUES["arn"],
}
return mock_kms_client
示例2: create_rt
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def create_rt(vpc_id, infra_tag_name, infra_tag_value, secondary):
try:
tag = {"Key": infra_tag_name, "Value": infra_tag_value}
route_table = []
ec2 = boto3.client('ec2')
rt = ec2.create_route_table(VpcId=vpc_id)
rt_id = rt.get('RouteTable').get('RouteTableId')
route_table.append(rt_id)
print('Created Route-Table with ID: {}'.format(rt_id))
create_tag(route_table, json.dumps(tag))
if not secondary:
ig = ec2.create_internet_gateway()
ig_id = ig.get('InternetGateway').get('InternetGatewayId')
route_table = []
route_table.append(ig_id)
create_tag(route_table, json.dumps(tag))
ec2.attach_internet_gateway(InternetGatewayId=ig_id, VpcId=vpc_id)
ec2.create_route(DestinationCidrBlock='0.0.0.0/0', RouteTableId=rt_id, GatewayId=ig_id)
return rt_id
except Exception as err:
logging.info(
"Unable to create Route Table: " + str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout))
append_result(str({"error": "Unable to create Route Table",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例3: stop_ec2
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def stop_ec2(tag_name, tag_value):
try:
ec2 = boto3.resource('ec2')
client = boto3.client('ec2')
inst = ec2.instances.filter(
Filters=[{'Name': 'instance-state-name', 'Values': ['running', 'pending']},
{'Name': 'tag:{}'.format(tag_name), 'Values': ['{}'.format(tag_value)]}])
instances = list(inst)
if instances:
id_instances = list()
for instance in instances:
id_instances.append(instance.id)
client.stop_instances(InstanceIds=id_instances)
waiter = client.get_waiter('instance_stopped')
waiter.wait(InstanceIds=id_instances)
print("The instances {} have been stopped successfully".format(id_instances))
else:
print("There are no instances with {} name to stop".format(tag_value))
except Exception as err:
logging.info("Unable to stop EC2: " + str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout))
append_result(str({"error": "Unable to stop EC2",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例4: start_ec2
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def start_ec2(tag_name, tag_value):
try:
ec2 = boto3.resource('ec2')
client = boto3.client('ec2')
inst = ec2.instances.filter(
Filters=[{'Name': 'instance-state-name', 'Values': ['stopped']},
{'Name': 'tag:{}'.format(tag_name), 'Values': ['{}'.format(tag_value)]}])
instances = list(inst)
if instances:
id_instances = list()
for instance in instances:
id_instances.append(instance.id)
client.start_instances(InstanceIds=id_instances)
waiter = client.get_waiter('instance_status_ok')
waiter.wait(InstanceIds=id_instances)
print("The instances {} have been started successfully".format(id_instances))
else:
print("There are no instances with {} name to start".format(tag_value))
except Exception as err:
logging.info("Unable to start EC2: " + str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout))
append_result(str({"error": "Unable to start EC2",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例5: s3_cleanup
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def s3_cleanup(bucket, cluster_name, user_name):
s3_res = boto3.resource('s3', config=Config(signature_version='s3v4'))
client = boto3.client('s3', config=Config(signature_version='s3v4'), region_name=os.environ['aws_region'])
try:
client.head_bucket(Bucket=bucket)
except:
print("There is no bucket {} or you do not permission to access it".format(bucket))
sys.exit(0)
try:
resource = s3_res.Bucket(bucket)
prefix = user_name + '/' + cluster_name + "/"
for i in resource.objects.filter(Prefix=prefix):
s3_res.Object(resource.name, i.key).delete()
except Exception as err:
logging.info("Unable to clean S3 bucket: " + str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout))
append_result(str({"error": "Unable to clean S3 bucket",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例6: remove_peering
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def remove_peering(tag_value):
try:
client = boto3.client('ec2')
tag_name = os.environ['conf_service_base_name'].lower() + '-tag'
if os.environ['conf_duo_vpc_enable'] == 'true':
peering_id = client.describe_vpc_peering_connections(Filters=[
{'Name': 'tag-key', 'Values': [tag_name]},
{'Name': 'tag-value', 'Values': [tag_value]},
{'Name': 'status-code', 'Values':
['active']}]).get('VpcPeeringConnections')[0].get('VpcPeeringConnectionId')
if peering_id:
client.delete_vpc_peering_connection(VpcPeeringConnectionId=peering_id)
print("Peering connection {} has been deleted successfully".format(peering_id))
else:
print("There are no peering connections to delete")
else:
print("There are no peering connections to delete because duo vpc option is disabled")
except Exception as err:
logging.info("Unable to remove peering connection: " + str(err) + "\n Traceback: " + traceback.print_exc(
file=sys.stdout))
append_result(str({"error": "Unable to remove peering connection",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例7: add_inbound_sg_rule
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def add_inbound_sg_rule(sg_id, rule):
try:
client = boto3.client('ec2')
client.authorize_security_group_ingress(
GroupId=sg_id,
IpPermissions=[rule]
)
except Exception as err:
if err.response['Error']['Code'] == 'InvalidPermission.Duplicate':
print("The following inbound rule is already exist:")
print(str(rule))
else:
logging.info("Unable to add inbound rule to SG: " + str(err) + "\n Traceback: " + traceback.print_exc(
file=sys.stdout))
append_result(str({"error": "Unable to add inbound rule to SG",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例8: add_outbound_sg_rule
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def add_outbound_sg_rule(sg_id, rule):
try:
client = boto3.client('ec2')
client.authorize_security_group_egress(
GroupId=sg_id,
IpPermissions=[rule]
)
except Exception as err:
if err.response['Error']['Code'] == 'InvalidPermission.Duplicate':
print("The following outbound rule is already exist:")
print(str(rule))
else:
logging.info("Unable to add outbound rule to SG: " + str(err) + "\n Traceback: " + traceback.print_exc(
file=sys.stdout))
append_result(str({"error": "Unable to add outbound rule to SG",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例9: deregister_image
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def deregister_image(image_name='*'):
try:
resource = boto3.resource('ec2')
client = boto3.client('ec2')
for image in resource.images.filter(
Filters=[{'Name': 'tag-value', 'Values': [os.environ['conf_service_base_name']]},
{'Name': 'tag-value', 'Values': [image_name]}]):
client.deregister_image(ImageId=image.id)
for device in image.block_device_mappings:
if device.get('Ebs'):
client.delete_snapshot(SnapshotId=device.get('Ebs').get('SnapshotId'))
print("Notebook AMI {} has been deregistered successfully".format(image.id))
except Exception as err:
logging.info("Unable to de-register image: " + str(err) + "\n Traceback: " + traceback.print_exc(
file=sys.stdout))
append_result(str({"error": "Unable to de-register image",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例10: remove_route_tables
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def remove_route_tables(tag_name, ssn=False):
try:
client = boto3.client('ec2')
rtables = client.describe_route_tables(Filters=[{'Name': 'tag-key', 'Values': [tag_name]}]).get('RouteTables')
for rtable in rtables:
if rtable:
rtable_associations = rtable.get('Associations')
rtable = rtable.get('RouteTableId')
if ssn:
for association in rtable_associations:
client.disassociate_route_table(AssociationId=association.get('RouteTableAssociationId'))
print("Association {} has been removed".format(association.get('RouteTableAssociationId')))
client.delete_route_table(RouteTableId=rtable)
print("Route table {} has been removed".format(rtable))
else:
print("There are no route tables to remove")
except Exception as err:
logging.info("Unable to remove route table: " + str(err) + "\n Traceback: " + traceback.print_exc(
file=sys.stdout))
append_result(str({"error": "Unable to remove route table",
"error_message": str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout)}))
traceback.print_exc(file=sys.stdout)
示例11: client
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def client(self):
"""
Returns a botocore dynamodb client
"""
# botocore has a known issue where it will cache empty credentials
# https://github.com/boto/botocore/blob/4d55c9b4142/botocore/credentials.py#L1016-L1021
# if the client does not have credentials, we create a new client
# otherwise the client is permanently poisoned in the case of metadata service flakiness when using IAM roles
if not self._client or (self._client._request_signer and not self._client._request_signer._credentials):
config = botocore.client.Config(
parameter_validation=False, # Disable unnecessary validation for performance
connect_timeout=self._connect_timeout_seconds,
read_timeout=self._read_timeout_seconds,
max_pool_connections=self._max_pool_connections)
self._client = self.session.create_client(SERVICE_NAME, self.region, endpoint_url=self.host, config=config)
return self._client
示例12: get_medialive_metric_list
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def get_medialive_metric_list(channel):
print('[{}]: \t[{}], \t[{}]'.format('metric_name', 'primary', 'backup'))
# Create CloudWatch client
# cw_session = boto3.Session(profile_name = args['--profile'])
cw_session = boto3.Session()
cloudwatch = cw_session.client('cloudwatch')
## known metrics as of 8/19/2017
all_metrics = {}
all_metrics['NetworkIn'] = get_medialive_metric('NetworkIn', channel, cloudwatch)
all_metrics['NetworkOut'] = get_medialive_metric('NetworkOut', channel, cloudwatch)
all_metrics['SvqTime'] = get_medialive_metric('SvqTime', channel, cloudwatch)
all_metrics['FillMsec'] = get_medialive_metric('FillMsec', channel, cloudwatch)
all_metrics['ActiveAlerts'] = get_medialive_metric('ActiveAlerts', channel, cloudwatch)
all_metrics['DroppedFrames'] = get_medialive_metric('DroppedFrames', channel, cloudwatch)
all_metrics['InputVideoFrameRate'] = get_medialive_metric('InputVideoFrameRate', channel, cloudwatch)
# print(all_metrics)
return all_metrics
示例13: get_mediapackage_metric_list
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def get_mediapackage_metric_list(channel):
print('[{}]: \t[{}], \t[{}]'.format('metric_name', 'primary', 'backup'))
# Create CloudWatch client
# cw_session = boto3.Session(profile_name = args['--profile'])
cw_session = boto3.Session()
cloudwatch = cw_session.client('cloudwatch')
## known metrics as of 8/19/2017
all_metrics = {}
all_metrics['EgressBytes'] = get_mediapackage_metric('EgressBytes', channel, cloudwatch)
all_metrics['IngressBytes'] = get_mediapackage_metric('IngressBytes', channel, cloudwatch)
all_metrics['EgressResponseTime'] = get_mediapackage_metric('EgressResponseTime', channel, cloudwatch)
all_metrics['EgressRequestCount'] = get_mediapackage_metric('EgressRequestCount', channel, cloudwatch)
all_metrics['IngressResponseTime'] = get_mediapackage_metric('IngressResponseTime', channel, cloudwatch)
# print(all_metrics)
return all_metrics
示例14: patch
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def patch():
"""
Patch botocore client so it generates subsegments
when calling AWS services.
"""
if hasattr(botocore.client, '_xray_enabled'):
return
setattr(botocore.client, '_xray_enabled', True)
wrapt.wrap_function_wrapper(
'botocore.client',
'BaseClient._make_api_call',
_xray_traced_botocore,
)
wrapt.wrap_function_wrapper(
'botocore.endpoint',
'Endpoint.prepare_request',
inject_header,
)
示例15: get_default_client_config
# 需要导入模块: import botocore [as 别名]
# 或者: from botocore import client [as 别名]
def get_default_client_config(self):
"""Retrieves the default config for creating clients
:rtype: botocore.client.Config
:returns: The default client config object when creating clients. If
the value is ``None`` then there is no default config object
attached to the session.
"""
return self._client_config