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}), ]
}), 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}), ]
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}), ]
}), 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}), ]
'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}), ]
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}), ]
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}), ]
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}), ]
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}), ]
'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}), ]