python类setup_default_session()的实例源码

ecs_client.py 文件源码 项目:ecs_explorer 作者: firemanphil 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def __init__(self, role_to_assume):
        self.role_to_assume = role_to_assume
        boto3.setup_default_session(profile_name='default')
        if role_to_assume:
            self.client = boto3.client('sts')
            response = self.client.assume_role(
                RoleArn=role_to_assume, RoleSessionName="ecs_explorer")

            creds = response['Credentials']
            self.ecs = boto3.client('ecs',
                                    aws_access_key_id=creds['AccessKeyId'],
                                    aws_secret_access_key=creds['SecretAccessKey'],
                                    aws_session_token=creds['SessionToken'])

            self.ec2 = boto3.client('ec2',
                                    aws_access_key_id=creds['AccessKeyId'],
                                    aws_secret_access_key=creds['SecretAccessKey'],
                                    aws_session_token=creds['SessionToken'])
        else: 
            self.ecs = boto3.client('ecs')
            self.ec2 = boto3.client('ec2')
manage.py 文件源码 项目:binaryalert 作者: airbnb 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def run(self, command: str) -> None:
        """Execute one of the available commands.

        Args:
            command: Command in self.commands.
        """
        boto3.setup_default_session(region_name=self._config.aws_region)

        # Validate the configuration.
        try:
            if command not in {'compile_rules', 'configure', 'unit_test'}:
                self._config.validate()
            getattr(self, command)()  # Command validation already happened in the ArgumentParser.
        except InvalidConfigError as error:
            sys.exit('ERROR: {}\nPlease run "python3 manage.py configure"'.format(error))
        except TestFailureError as error:
            sys.exit('TEST FAILED: {}'.format(error))
aws_sqs.py 文件源码 项目:homeassistant 作者: NAStools 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_service(hass, config):
    """Get the AWS SQS notification service."""
    # pylint: disable=import-error
    import boto3

    aws_config = config.copy()

    del aws_config[CONF_PLATFORM]
    del aws_config[CONF_NAME]

    profile = aws_config.get(CONF_PROFILE_NAME)

    if profile is not None:
        boto3.setup_default_session(profile_name=profile)
        del aws_config[CONF_PROFILE_NAME]

    sqs_client = boto3.client("sqs", **aws_config)

    return AWSSQS(sqs_client)
aws_sns.py 文件源码 项目:homeassistant 作者: NAStools 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def get_service(hass, config):
    """Get the AWS SNS notification service."""
    # pylint: disable=import-error
    import boto3

    aws_config = config.copy()

    del aws_config[CONF_PLATFORM]
    del aws_config[CONF_NAME]

    profile = aws_config.get(CONF_PROFILE_NAME)

    if profile is not None:
        boto3.setup_default_session(profile_name=profile)
        del aws_config[CONF_PROFILE_NAME]

    sns_client = boto3.client("sns", **aws_config)

    return AWSSNS(sns_client)
aws_lambda.py 文件源码 项目:homeassistant 作者: NAStools 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def get_service(hass, config):
    """Get the AWS Lambda notification service."""
    context_str = json.dumps({'hass': hass.config.as_dict(),
                              'custom': config[CONF_CONTEXT]})
    context_b64 = base64.b64encode(context_str.encode("utf-8"))
    context = context_b64.decode("utf-8")

    # pylint: disable=import-error
    import boto3

    aws_config = config.copy()

    del aws_config[CONF_PLATFORM]
    del aws_config[CONF_NAME]
    del aws_config[CONF_CONTEXT]

    profile = aws_config.get(CONF_PROFILE_NAME)

    if profile is not None:
        boto3.setup_default_session(profile_name=profile)
        del aws_config[CONF_PROFILE_NAME]

    lambda_client = boto3.client("lambda", **aws_config)

    return AWSLambda(lambda_client, context)
conftest.py 文件源码 项目:kinesis_producer 作者: ludia 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def clean_boto_configuration(monkeypatch):
    monkeypatch.setenv('AWS_ACCESS_KEY_ID', 'AK000000000000000000')
    monkeypatch.setenv('AWS_SECRET_ACCESS_KEY',
                       '0000000000000000000000000000000000000000')
    monkeypatch.setenv('AWS_DEFAULT_REGION', 'us-east-1')
    # Reset previously created default session (for credentials)
    boto3.setup_default_session()
iam_role.py 文件源码 项目:albt 作者: geothird 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def __init__(self, debug=False, profile=None):
        """
        Init
        :param debug:
        """
        self.debug = debug
        self.profile = profile
        if self.profile:
            boto3.setup_default_session(profile_name=self.profile)
        PrintMsg.debug = self.debug
        self.client = boto3.client('iam')
__init__.py 文件源码 项目:aws-security-test 作者: mikhailadvani 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def main():
    artifacts_dir = "artifacts"
    suite = unittest.TestSuite()

    parser = argparse.ArgumentParser()
    parser.add_argument("-c", "--config", type=str, required=True, help="Selects the config file")
    parser.add_argument("-p", "--profile", type=str, help="Specifies the boto profile to choose from  ~/.aws/config")
    parser.add_argument("--report", default='html', help="Prints test execution on the console rather than generating a HTML report", choices=['text', 'html'])
    args = parser.parse_args()

    if args.profile :
        boto3.setup_default_session(profile_name=args.profile)

    testConfig = yaml.load(open(args.config, 'r'))

    for testCategory, tests in testConfig.iteritems():
        for test, enabled in tests.iteritems():
            if enabled:
                suite.addTest(eval(testCategory+"Audit")(test))
    runner = ''

    if args.report == 'text':
        runner = unittest.TextTestRunner(verbosity=2)
    elif args.report == 'html':
        reportFile = open("test_results.html", "w")
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=reportFile,
            title='aws-security-test - Report',
            verbosity=2
        )
    else:
        print 'Invalid report type'
        exit(1)

    if not os.path.exists(artifacts_dir):
        os.makedirs(artifacts_dir)

    testExecution = runner.run(suite)
    return len(testExecution.failures) + len(testExecution.errors)
ses_email.py 文件源码 项目:kumostatus 作者: APSL 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def __init__(self, subject, email_from, email_to, credentials):
        Email.__init__(self, subject, email_from, email_to)
        boto3.setup_default_session(
            aws_access_key_id=credentials['AWS_ID'],
            aws_secret_access_key=credentials['AWS_PASS'],
            region_name=credentials['region']
        )
        self.client = boto3.client('ses')
connection.py 文件源码 项目:aws_ir 作者: ThreatResponse 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def __init__(self, type, service=None, region='us-west-2', profile='default'):
        self.region = region
        self.connection_type = type
        self.service = service
        self.client = None
        self.resource = None
        self.profile = profile
        try:
            boto3.setup_default_session(profile_name=self.profile)
        except Exception as e:
            logger.info("Problem setting default boto3 session: {}".format(e))
conftest.py 文件源码 项目:python-param-store 作者: LabD 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def pytest_configure():
    boto3.setup_default_session(region_name='eu-west-1')
aws-janitor.py 文件源码 项目:AWS-Demos 作者: miztiik 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def main():
    argparser = argparse.ArgumentParser()
    argparser.add_argument('--site', help='Name of the Site VPC', required=True)
    argparser.add_argument('--cidr', help='CIDR to add route for', required=True)
    argparser.add_argument('--peeringid', help='Peering connection we are going to use', required=True)
    argparser.add_argument('--profile', help='AWS Profile to use', required=True)
    args = argparser.parse_args()
    cidr = args.cidr
    site = args.site
    peeringid = args.peeringid
    profile = args.profile

    if profile != None: boto3.setup_default_session(profile_name=profile)
    ec2resource = boto3.resource('ec2', region_name='eu-central-1')
    ec2Client = boto3.client('ec2', region_name='eu-central-1')


    vpcid = get_vpcid(site, client = ec2Client)
    print('Looking up route tables for %s' % vpcid)
    route_tables = get_route_tables(vpcid, ec2resource)
    print ('Retrieved %s tables, proceeding to add tables' % len(route_tables))
    for table_id in route_tables:
        print('Adding route for %s to %s' % (cidr, peeringid))
        try:
            response = add_peering_route(table_id, cidr, peeringid, ec2resource)
            if response:
                continue
            else:
                print('Error occurred adding route to %s' % table_id)
        except botocore.exceptions.ClientError as e:
            if e.response['Error']['Code'] == 'RouteAlreadyExists':
                print('Route already exists on %s, continuing' % table_id)
                continue
            else:
                print('Unexpected error: %s' % e)



    print('Routes have been added!')
importer.py 文件源码 项目:gateway_manager 作者: binarydud 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def old(region, profile='default'):
    project_details = json.load(open('project.json'))
    boto3.setup_default_session(
        profile_name=profile,
        region_name=region
    )
    client = boto3.client('apigateway', region_name=region)
    raml = ramlfications.parse('api_schema.raml')
    api_name = raml.title
    api_gateway = get_api_by_name(client, api_name)
    if api_gateway is None:
        api_gateway = client.create_rest_api(name=api_name)
    aws_resources = client.get_resources(restApiId=api_gateway['id'])['items']
    root = grab_root_resource(aws_resources)
    resources = api.transform_resources(raml, raml.resources)
    resources = associate_resources(aws_resources, resources)
    aws_authorizers = client.get_authorizers(restApiId=api_gateway['id'])['items']  # NOQA
    authorizers = associate_authorizers(aws_authorizers, raml.security_schemes or [])  # NOQA
    create_authorizer = functools.partial(
        create_security_scheme,
        client,
        api_gateway['id'],
        project_details['name']
    )
    authorizers = map(create_authorizer, authorizers)

    for resource in resources:
        print 'Creating Resource'
        create_resource(
            client,
            api_gateway['id'],
            root['id'],
            resource,
            project_details['name'],
            authorizers
        )
    deployment = client.create_deployment(
        restApiId=api_gateway['id'],
        stageName=raml.base_uri
    )
    data = {
        'deployment': deployment['id'],
        'api': api_gateway['id'],
        'uri': 'https://{}.execute-api.{}.amazonaws.com/{}/'.format(
            api_gateway['id'],
            region,
            raml.base_uri
        )
    }
    print data


问题


面经


文章

微信
公众号

扫码关注公众号