当前位置: 首页>>代码示例>>Python>>正文


Python boto.connect_iam方法代码示例

本文整理汇总了Python中boto.connect_iam方法的典型用法代码示例。如果您正苦于以下问题:Python boto.connect_iam方法的具体用法?Python boto.connect_iam怎么用?Python boto.connect_iam使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在boto的用法示例。


在下文中一共展示了boto.connect_iam方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: create_iam_profile

# 需要导入模块: import boto [as 别名]
# 或者: from boto import connect_iam [as 别名]
def create_iam_profile():
    """Creates AWS IAM profile"""

    print 'Creating IAM Profile: {0} ...'.format(IAM_PROFILE)

    conn = boto.connect_iam()
    instance_profile = conn.create_instance_profile(IAM_PROFILE)
    role = conn.create_role(TRAINER + '-{0}'.format(VPC))
    conn.add_role_to_instance_profile(IAM_PROFILE, IAM_PROFILE)
    conn.put_role_policy(IAM_PROFILE, 'EC2-Describe', POLICY)

    print 'IAM profile, role, and policy created ...' 
开发者ID:kizbitz,项目名称:train,代码行数:14,代码来源:vpc.py

示例2: delete_iam_profile

# 需要导入模块: import boto [as 别名]
# 或者: from boto import connect_iam [as 别名]
def delete_iam_profile():
    """Delete AWS IAM profile"""

    print 'Deleting IAM Profile: {0} ...'.format(IAM_PROFILE)

    conn = boto.connect_iam()
    conn.delete_role_policy(IAM_PROFILE, 'EC2-Describe')
    conn.remove_role_from_instance_profile(IAM_PROFILE, IAM_PROFILE)
    conn.delete_instance_profile(IAM_PROFILE)
    conn.delete_role(IAM_PROFILE) 
开发者ID:kizbitz,项目名称:train,代码行数:12,代码来源:vpc.py

示例3: include_rds_clusters_by_region

# 需要导入模块: import boto [as 别名]
# 或者: from boto import connect_iam [as 别名]
def include_rds_clusters_by_region(self, region):
        if not HAS_BOTO3:
            self.fail_with_error("Working with RDS clusters requires boto3 - please install boto3 and try again",
                                 "getting RDS clusters")

        client = ec2_utils.boto3_inventory_conn('client', 'rds', region, **self.credentials)

        marker, clusters = '', []
        while marker is not None:
            resp = client.describe_db_clusters(Marker=marker)
            clusters.extend(resp["DBClusters"])
            marker = resp.get('Marker', None)

        account_id = boto.connect_iam().get_user().arn.split(':')[4]
        c_dict = {}
        for c in clusters:
            # remove these datetime objects as there is no serialisation to json
            # currently in place and we don't need the data yet
            if 'EarliestRestorableTime' in c:
                del c['EarliestRestorableTime']
            if 'LatestRestorableTime' in c:
                del c['LatestRestorableTime']

            if self.ec2_instance_filters == {}:
                matches_filter = True
            else:
                matches_filter = False

            try:
                # arn:aws:rds:<region>:<account number>:<resourcetype>:<name>
                tags = client.list_tags_for_resource(
                    ResourceName='arn:aws:rds:' + region + ':' + account_id + ':cluster:' + c['DBClusterIdentifier'])
                c['Tags'] = tags['TagList']

                if self.ec2_instance_filters:
                    for filter_key, filter_values in self.ec2_instance_filters.items():
                        # get AWS tag key e.g. tag:env will be 'env'
                        tag_name = filter_key.split(":", 1)[1]
                        # Filter values is a list (if you put multiple values for the same tag name)
                        matches_filter = any(d['Key'] == tag_name and d['Value'] in filter_values for d in c['Tags'])

                        if matches_filter:
                            # it matches a filter, so stop looking for further matches
                            break

            except Exception as e:
                if e.message.find('DBInstanceNotFound') >= 0:
                    # AWS RDS bug (2016-01-06) means deletion does not fully complete and leave an 'empty' cluster.
                    # Ignore errors when trying to find tags for these
                    pass

            # ignore empty clusters caused by AWS bug
            if len(c['DBClusterMembers']) == 0:
                continue
            elif matches_filter:
                c_dict[c['DBClusterIdentifier']] = c

        self.inventory['db_clusters'] = c_dict 
开发者ID:pingcap,项目名称:tidb-ansible,代码行数:60,代码来源:ec2.py

示例4: include_rds_clusters_by_region

# 需要导入模块: import boto [as 别名]
# 或者: from boto import connect_iam [as 别名]
def include_rds_clusters_by_region(self, region):
        if not HAS_BOTO3:
            self.fail_with_error("Working with RDS clusters requires boto3 - please install boto3 and try again",
                                 "getting RDS clusters")

        client = ec2_utils.boto3_inventory_conn('client', 'rds', region, **self.credentials)

        marker, clusters = '', []
        while marker is not None:
            resp = client.describe_db_clusters(Marker=marker)
            clusters.extend(resp["DBClusters"])
            marker = resp.get('Marker', None)

        account_id = boto.connect_iam().get_user().arn.split(':')[4]
        c_dict = {}
        for c in clusters:
            if not self.ec2_instance_filters:
                matches_filter = True
            else:
                matches_filter = False

            try:
                # arn:aws:rds:<region>:<account number>:<resourcetype>:<name>
                tags = client.list_tags_for_resource(
                    ResourceName='arn:aws:rds:' + region + ':' + account_id + ':cluster:' + c['DBClusterIdentifier'])
                c['Tags'] = tags['TagList']

                if self.ec2_instance_filters:
                    for filters in self.ec2_instance_filters:
                        for filter_key, filter_values in filters.items():
                            # get AWS tag key e.g. tag:env will be 'env'
                            tag_name = filter_key.split(":", 1)[1]
                            # Filter values is a list (if you put multiple values for the same tag name)
                            matches_filter = any(d['Key'] == tag_name and d['Value'] in filter_values for d in c['Tags'])

                            if matches_filter:
                                # it matches a filter, so stop looking for further matches
                                break

                        if matches_filter:
                            break

            except Exception as e:
                if e.message.find('DBInstanceNotFound') >= 0:
                    # AWS RDS bug (2016-01-06) means deletion does not fully complete and leave an 'empty' cluster.
                    # Ignore errors when trying to find tags for these
                    pass

            # ignore empty clusters caused by AWS bug
            if len(c['DBClusterMembers']) == 0:
                continue
            elif matches_filter:
                c_dict[c['DBClusterIdentifier']] = c

        self.inventory['db_clusters'] = c_dict 
开发者ID:softwaremill,项目名称:mqperf,代码行数:57,代码来源:ec2.py


注:本文中的boto.connect_iam方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。