cst_hostedzone._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Domain Name', 'data.name'),
        EnumDyField.data_source('Type',
                                'data.type',
                                default_badge={
                                    'indigo.500': ['Public'],
                                    'coral.600': ['Private']
                                }),
        TextDyField.data_source('Record Set Count',
                                'data.resource_record_set_count'),
        TextDyField.data_source('Comment', 'data.config.comment'),
        TextDyField.data_source('Host Zone ID', 'data.id'),
    ],
    search=[
        SearchField.set(name='Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Type', key='data.type'),
        SearchField.set(name='Host Zone ID', key='data.hosted_zone_id'),
        SearchField.set(name='Record Set Count',
                        key='data.resource_record_set_count',
                        data_type='integer'),
        SearchField.set(name='Record Name', key='data.record_sets.name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_hostedzone}),
]
Exemple #2
0
                                }),
        EnumDyField.data_source('State',
                                'data.state_display',
                                default_state={
                                    'safe': ['Enabled'],
                                    'alert': ['Disabled'],
                                }),
    ],
    search=[
        SearchField.set(name='Distribution ID', key='data.id'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Status',
                        key='data.status',
                        enums={
                            'Deployed': {
                                'label': 'Deployed',
                                'icon': {
                                    'color': 'green.500'
                                }
                            }
                        }),
        SearchField.set(name='Domain Name', key='data.domain_name'),
        SearchField.set(name='CNAME', key='data.alias_icp_recordals.cname'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_distribution}),
]
Exemple #3
0
cst_ecr_repo.provider = 'aws'
cst_ecr_repo.group = 'ECR'
cst_ecr_repo.labels = ['Container', 'Compute']
cst_ecr_repo.is_primary = True
cst_ecr_repo.service_code = 'AmazonECR'
cst_ecr_repo.tags = {
    'spaceone:icon': 'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-EC2-Container-Registry.svg',
}

cst_ecr_repo._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Repository name', 'data.repository_name'),
        TextDyField.data_source('URI', 'data.repository_uri'),
        DateTimeDyField.data_source('Created', 'data.created_at'),
    ],
    search=[
        SearchField.set(name='Repository ID', key='data.registry_id'),
        SearchField.set(name='Name', key='data.repository_name'),
        SearchField.set(name='ARN', key='data.repository_arn'),
        SearchField.set(name='URI', key='data.repository_uri'),
        SearchField.set(name='Image URI', key='data.images.image_uri'),
        SearchField.set(name='Created Time', key='data.created_at', data_type='datetime'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ]
)

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_ecr_repo}),
]
Exemple #4
0
                        }),
        SearchField.set(name='VPC ID', key='data.vpc_id'),
        SearchField.set(name='Stickiness',
                        key='data.attributes.stickiness_enabled',
                        enums={
                            'Enabled': {
                                'label': 'Enabled'
                            },
                            'Disabled': {
                                'label': 'Disabled'
                            }
                        }),
        SearchField.set(name='Stickiness Type',
                        key='data.attributes.stickiness_type',
                        enums={
                            'lb_cookie': {
                                'label': 'LB Cookie'
                            },
                            'source_ip': {
                                'label': 'Source IP'
                            }
                        }),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_elb}),
    CloudServiceTypeResponse({'resource': cst_tg}),
]
Exemple #5
0
                                    'color': 'red.500'
                                }
                            },
                            'unknown': {
                                'label': 'Deleting',
                                'icon': {
                                    'color': 'gray.400'
                                }
                            }
                        }),
        SearchField.set(name='Location', key='data.location'),
        SearchField.set(name='Connection Count',
                        key='data.number_of_connections',
                        data_type='integer'),
        SearchField.set(name='Bandwidth', key='data.connections_bandwidth'),
        SearchField.set(name='Minimum Links',
                        key='data.minimum_links',
                        data_type='integer'),
        SearchField.set(name='AWS Device', key='data.aws_device'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])
cst_lags._metadata = cst_lags_meta

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_connection}),
    CloudServiceTypeResponse({'resource': cst_dc_gw}),
    CloudServiceTypeResponse({'resource': cst_vp_gw}),
    CloudServiceTypeResponse({'resource': cst_lags}),
]
cst_bucket._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Name', 'data.name'),
        TextDyField.data_source('Region', 'region_code'),
        EnumDyField.data_source('Access',
                                'data.public_access',
                                default_badge={
                                    'indigo.500': ['Private'],
                                    'coral.600': ['Public']
                                }),
        TextDyField.data_source('Object Total Counts', 'data.object_count'),
        SizeField.data_source('Object Total Size', 'data.object_total_size'),
    ],
    search=[
        SearchField.set(name='Bucket Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Region', key='region_code'),
        SearchField.set(name='Object Counts',
                        key='data.object_count',
                        data_type='integer'),
        SearchField.set(name='Object Total Size (Bytes)',
                        key='data.object_total_size',
                        data_type='integer'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_bucket}),
]
                        enums={
                            'bursting': {
                                'label': 'Bursting'
                            },
                            'provisioned': {
                                'label': 'Provisioned'
                            },
                        }),
        SearchField.set(name='Mount Target ID',
                        key='data.mount_targets.mount_target_id'),
        SearchField.set(name='Mount Target Counts',
                        key='data.number_of_mount_targets',
                        data_type='integer'),
        SearchField.set(name='IP Address',
                        key='data.mount_targets.ip_address'),
        SearchField.set(name='Availability Zone',
                        key='data.mount_targets.availability_zone_name'),
        SearchField.set(name='Subnet ID', key='data.mount_targets.subnet_id'),
        SearchField.set(name='Security Group ID',
                        key='data.mount_targets.security_groups'),
        SearchField.set(name='Created Time',
                        key='data.creation_time',
                        data_type='datetime'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_filesystem}),
]
Exemple #8
0
        TextDyField.data_source('Hypervisor ',
                                'data.hypervisor',
                                options={'is_optional': True}),
        TextDyField.data_source('Platform Details ',
                                'data.platform_details',
                                options={'is_optional': True})
    ],
    search=[
        SearchField.set(name='AMI ID', key='data.image_id'),
        SearchField.set(name='Name', key='data.name'),
        SearchField.set(name='Status', key='data.state'),
        SearchField.set(name='Source', key='data.image_location'),
        SearchField.set(name='Owner', key='data.owner_id'),
        SearchField.set(name='Is Public',
                        key='data.public',
                        data_type='boolean'),
        SearchField.set(name='Platform', key='data.platform'),
        SearchField.set(name='Root Device Type', key='data.root_device_type'),
        SearchField.set(name='Virtualization', key='data.virtualization_type'),
        SearchField.set(name='Creation Date',
                        key='data.creation_date',
                        data_type='datetime'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_sg}),
    CloudServiceTypeResponse({'resource': cst_ami}),
]
        SearchField.set(name="Stream ARN", key="data.stream_arn"),
        SearchField.set(name="Stream Status", key="data.stream_status"),
        SearchField.set(name="Consumer Name", key="data.consumers_vo.consumer_name"),
        SearchField.set(name="Consumer ARN", key="data.consumers_vo.consumer_arn"),
        SearchField.set(name="Shard ID", key="data.shards.shard_id"),
        SearchField.set(name="Parent Shard Id", key="data.shards.parent_shard_id"),
        SearchField.set(
            name="Retention Hours",
            key="data.retention_period_hours",
            data_type="Integer",
        ),
        SearchField.set(
            name="Retention Days", key="data.retention_period_days", data_type="Integer"
        ),
        SearchField.set(
            name="Number of Open Shards",
            key="data.open_shards_num",
            data_type="Integer",
        ),
        SearchField.set(
            name="Number of Closed Shards",
            key="data.closed_shards_num",
            data_type="Integer",
        ),
    ],
)

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({"resource": cst_kds}),
]
cst_identity_provider.group = 'IAM'
cst_identity_provider.labels = ['Security']
cst_identity_provider.tags = {
    'spaceone:icon':
    'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/AWS-Identity-and-Access-Management_IAM.svg',
}

cst_identity_provider._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source(name='Identity Provider URL', key='data.url'),
        EnumDyField.data_source(name='provider_type',
                                key='data.provider_type',
                                default_badge={'indigo.500': ['OIDC']}),
    ],
    search=[
        SearchField.set(name='Identity Provider URL', key='data.url'),
        SearchField.set(name='Identity Provider ARN', key='data.arn'),
        SearchField.set(name='Provider Type', key='data.provider_type'),
        SearchField.set(name='Creation Time',
                        key='data.create_date',
                        data_type='datetime')
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_group}),
    CloudServiceTypeResponse({'resource': cst_user}),
    CloudServiceTypeResponse({'resource': cst_role}),
    CloudServiceTypeResponse({'resource': cst_policy}),
    CloudServiceTypeResponse({'resource': cst_identity_provider}),
]
                                'data.node_role',
                                options={'is_optional': True}),
        TextDyField.data_source('EC2 SSH Key',
                                'data.remote_access.ec2_ssh_key',
                                options={'is_optional': True}),
        TextDyField.data_source('Release Version',
                                'data.release_version',
                                options={'is_optional': True})
    ],
    search=[
        SearchField.set(name='Node Group ARN', key='data.nodegroup_arn'),
        SearchField.set(name='Status', key='data.status'),
        SearchField.set(name='EKS Cluster Name', key='data.cluster_name'),
        SearchField.set(name='EKS Cluster ARN', key='data.cluster_arn'),
        SearchField.set(name='Version', key='data.version'),
        SearchField.set(name='Instance Type', key='data.instance_types'),
        SearchField.set(name='Subnet', key='data.subnets'),
        SearchField.set(name='Node Role', key='data.node_role'),
        SearchField.set(name='Disk Size',
                        key='data.disk_size',
                        data_type='integer'),
        SearchField.set(name='Modification Time',
                        key='data.modified_at',
                        data_type='datetime'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_eks_cluster}),
    CloudServiceTypeResponse({'resource': cst_eks_nodegrp}),
]
Exemple #12
0
cst_parameter_group = CloudServiceTypeResource()
cst_parameter_group.name = 'ParameterGroup'
cst_parameter_group.provider = 'aws'
cst_parameter_group.group = 'DocumentDB'
cst_parameter_group.labels = ['Database']
cst_parameter_group.service_code = 'AmazonDocDB'
cst_parameter_group.tags = {
    'spaceone:icon': 'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-DocumentDB.svg',
}
cst_parameter_group._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Name', 'data.db_cluster_parameter_group_name'),
        BadgeDyField.data_source('Family', 'data.db_parameter_group_family'),
        TextDyField.data_source('Description', 'data.description'),
    ],
    search=[
        SearchField.set(name='Name', key='data.db_cluster_parameter_group_name'),
        SearchField.set(name='ARN', key='data.db_cluster_parameter_group_arn'),
        SearchField.set(name='Family', key='data.db_parameter_group_family'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ]
)


CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_cluster}),
    CloudServiceTypeResponse({'resource': cst_subnet_group}),
    CloudServiceTypeResponse({'resource': cst_parameter_group}),
]
        DateTimeDyField.data_source('Creation Time', 'data.create_time'),
    ],
    search=[
        SearchField.set(name='Name', key='data.launch_template_name'),
        SearchField.set(name='ID', key='data.launch_template_id'),
        SearchField.set(name='AMI ID',
                        key='data.launch_template_data.image_id'),
        SearchField.set(name='Owner', key='data.created_by'),
        SearchField.set(name='Default Version',
                        key='data.default_version',
                        data_type='boolean'),
        SearchField.set(name='Versions', key='data.version'),
        SearchField.set(name='Instance Type',
                        key='data.launch_template_data.instance_type'),
        SearchField.set(name='Monitoring',
                        key='data.launch_template_data.monitoring.enabled',
                        data_type='boolean'),
        SearchField.set(name='Security Group ID',
                        key='data.launch_template_data.security_group_ids'),
        SearchField.set(name='Created Time',
                        key='data.create_time',
                        data_type='datetime'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_asg}),
    CloudServiceTypeResponse({'resource': launch_configuration}),
    CloudServiceTypeResponse({'resource': launch_template})
]
        TextDyField.data_source('AWS Account ID', 'data.account_id', options={
            'is_optional': True
        }),
    ],
    search=[
        SearchField.set(name='Cluster Name', key='data.cluster_name'),
        SearchField.set(name='ARN', key='data.cluster_arn'),
        SearchField.set(name='Status', key='data.status'),
        SearchField.set(name='Active Services Count', key='data.active_services_count', data_type='integer'),
        SearchField.set(name='Running Tasks Count', key='data.running_tasks_count', data_type='integer'),
        SearchField.set(name='Pending Tasks Count', key='data.pending_tasks_count', data_type='integer'),
        SearchField.set(name='Service Name', key='data.services.service_name'),
        SearchField.set(name='Service ARN', key='data.services.service_arn'),
        SearchField.set(name='Service Type', key='data.services.scheduling_strategy',
                        enums={
                            'REPLICA': {'label': 'REPLICA'},
                            'DAEMON': {'label': 'DAEMON'},
                        }),
        SearchField.set(name='Task Name', key='data.tasks.task'),
        SearchField.set(name='Task Definition', key='data.tasks.task_definition'),
        SearchField.set(name='Task Definition ARN', key='data.tasks.task_definition_arn'),
        SearchField.set(name='Container Instance ID', key='data.container_instances.ec2_instance_id'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ]
)


CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_ecs_cluster}),
]
        TextDyField.data_source('Subject',
                                'data.subject',
                                options={'is_optional': True}),
        TextDyField.data_source('Serial',
                                'data.serial',
                                options={'is_optional': True}),
        TextDyField.data_source('Signature Algorithm',
                                'data.signature_algorithm',
                                options={'is_optional': True}),
        TextDyField.data_source('Key Algorithm',
                                'data.key_algorithm',
                                options={'is_optional': True}),
        TextDyField.data_source('AWS Account ID',
                                'data.account_id',
                                options={'is_optional': True})
    ],
    search=[
        SearchField.set(name='Domain Name', key='data.domain_name'),
        SearchField.set(name='ARN', key='data.certificate_arn'),
        SearchField.set(name='Status', key='data.status'),
        SearchField.set(name='Type', key='data.type'),
        SearchField.set(name='In use?', key='data.in_use_display'),
        SearchField.set(name='Renewal Eligibility',
                        key='data.renewal_eligibility'),
        SearchField.set(name='Associated Resources', key='data.in_use_by'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_certi}),
]
Exemple #16
0
cst_config.group = 'MSK'
cst_config.labels = ['Analytics']
cst_config.service_code = 'AmazonMSK'
cst_config.tags = {
    'spaceone:icon': 'https://assets-console-spaceone-stg.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon_MSK.svg',
}

cst_config._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Configuration name', 'data.name'),
        EnumDyField.data_source('Status', 'data.state', default_state={
            'safe': ['ACTIVE'],
            'warning': ['DELETING'],
            'alert': ['DELETE_FAILED']
        }),
        TextDyField.data_source('Latest Revision', 'data.latest_revision.revision'),
        DateTimeDyField.data_source('Creation time', 'data.creation_time'),
    ],
    search=[
        SearchField.set(name='Configuration name', key='data.name'),
        SearchField.set(name='Status', key='data.state'),
        SearchField.set(name='Creation time', key='data.creation_time', data_type='datetime'),
        SearchField.set(name='Configuration ARN', key='data.arn'),
    ]
)

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_cluster}),
    CloudServiceTypeResponse({'resource': cst_config}),
]
Exemple #17
0
                                options={'is_optional': True}),
        TextDyField.data_source('VPC ID',
                                'data.vpc_id',
                                options={'is_optional': True}),
        TextDyField.data_source(
            'Allows VPC and Non VPC Instance Memberships',
            'data.allows_vpc_and_non_vpc_instance_memberships',
            options={'is_optional': True}),
        TextDyField.data_source('AWS Account ID',
                                'data.account_id',
                                options={'is_optional': True})
    ],
    search=[
        SearchField.set(name='Name', key='data.option_group_name'),
        SearchField.set(name='ARN', key='data.option_group_arn'),
        SearchField.set(name='Engine', key='data.engine_name'),
        SearchField.set(name='Major Engine Version',
                        key='data.major_engine_version'),
        SearchField.set(name='VPC ID', key='data.vpc_id'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_rds_database}),
    CloudServiceTypeResponse({'resource': cst_rds_instance}),
    CloudServiceTypeResponse({'resource': cst_rds_snapshot}),
    CloudServiceTypeResponse({'resource': cst_rds_subnetgrp}),
    CloudServiceTypeResponse({'resource': cst_rds_paramgrp}),
    CloudServiceTypeResponse({'resource': cst_rds_optgrp}),
]
Exemple #18
0
                                    'data.last_accessed_date',
                                    options={'is_optional': True}),
        DateTimeDyField.data_source('Last Deleted Date',
                                    'data.deleted_date',
                                    options={'is_optional': True}),
        TextDyField.data_source('Owning Service',
                                'data.owning_service',
                                options={'is_optional': True})
    ],
    search=[
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Last Changed Time',
                        key='data.last_changed_date',
                        data_type='datetime'),
        SearchField.set(name='Last Accessed Time',
                        key='data.last_accessed_date',
                        data_type='datetime'),
        SearchField.set(name='Rotation Enabled',
                        key='data.rotation_enabled',
                        data_type='boolean')
    ],
    widget=[
        CardWidget.set(**get_data_from_yaml(total_count_conf)),
        ChartWidget.set(**get_data_from_yaml(count_by_region_conf)),
        ChartWidget.set(**get_data_from_yaml(count_by_account_conf)),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_secret}),
]
            'is_optional': True
        }),
        TextDyField.data_source('Type', 'data.delivery_stream_type', options={
            'is_optional': True
        }),
        TextDyField.data_source('Version ID', 'data.version_id', options={
            'is_optional': True
        }),
        TextDyField.data_source('Encryption Configuration Status',
                                'data.delivery_stream_encryption_configuration.status',
                                options={'is_optional': True}),
        TextDyField.data_source('Failure Description', 'data.failure_description', options={
            'is_optional': True
        })
    ],
    search=[
        SearchField.set(name="Stream ARN", key="data.delivery_stream_arn"),
        SearchField.set(name="Stream Status", key="data.delivery_stream_status"),
        SearchField.set(name="Source Name", key="data.source.source_name"),
    ],
    widget=[
        CardWidget.set(**get_data_from_yaml(total_count_conf)),
        ChartWidget.set(**get_data_from_yaml(count_by_region_conf)),
        ChartWidget.set(**get_data_from_yaml(count_by_account_conf)),
    ]
)

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({"resource": cst_firehose}),
]