cst_eks_cluster.tags = {
    'spaceone:icon': 'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-Elastic-Kubernetes-Service.svg',
}

cst_eks_cluster._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Name', 'data.name'),
        TextDyField.data_source('Version', 'data.version'),
        EnumDyField.data_source('Status', 'data.status', default_state={
            'safe': ['ACTIVE'],
            'warning': ['CREATING', 'DELETING', 'UPDATING'],
            'alert': ['FAILED']
        })
    ],
    search=[
        SearchField.set(name='Cluster Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Status', key='data.status',
                        enums={
                            'ACTIVE': {'label': 'ACTIVE', 'icon': {'color': 'green.500'}},
                            'CREATING': {'label': 'CREATING', 'icon': {'color': 'yellow.500'}},
                            'UPDATING': {'label': 'UPDATING', 'icon': {'color': 'yellow.500'}},
                            'DELETING': {'label': 'DELETING', 'icon': {'color': 'yellow.500'}},
                            'FAILED': {'label': 'FAILED', 'icon': {'color': 'red.500'}},
                        }),
        SearchField.set(name='Cluster Version', key='data.version'),
        SearchField.set(name='Cluster Endpoint', key='data.endpoint'),
        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'),
    ]
                                 'delimiter': '<br>',
                                 'sub_key': 'vpc_security_group_id',
                                 'is_optional': True
                             }),
     TextDyField.data_source('HSM Status',
                             'data.hsm_status',
                             options={'is_optional': True}),
     TextDyField.data_source('Snapshot Schedule Identifier',
                             'data.snapshot_schedule_identifier',
                             options={'is_optional': True}),
     TextDyField.data_source('Manual Snapshot Retention Period',
                             'data.manual_snapshot_retention_period',
                             options={'is_optional': True})
 ],
 search=[
     SearchField.set(name='ARN', key='data.arn'),
     SearchField.set(name='Cluster Version', key='data.cluster_version'),
     SearchField.set(name='Node Type', key='instance_type'),
     SearchField.set(name='Status',
                     key='data.cluster_status',
                     enums={
                         "available": {
                             'label': 'Available',
                             'icon': {
                                 'color': 'green.500'
                             }
                         },
                         "prep-for-resize": {
                             'label': 'Prepare for Resize',
                             'icon': {
                                 'color': 'yellow.400'
cst_sg.tags = {
    'spaceone:icon':
    'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-VPC_VPN-Gateway_dark-bg.svg',
    'spaceone:is_major': 'true',
}

cst_sg._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('ID', 'data.group_id'),
        TextDyField.data_source('Name', 'data.group_name'),
        TextDyField.data_source('VPC ID', 'data.vpc_id'),
        TextDyField.data_source('Description', 'data.description'),
        TextDyField.data_source('Account ID', 'data.owner_id')
    ],
    search=[
        SearchField.set(name='Security Group ID', key='data.group_id'),
        SearchField.set(name='Name', key='data.group_name'),
        SearchField.set(name='VPC ID', key='data.vpc_id'),
        SearchField.set(name='Inbound Protocol',
                        key='data.ip_permissions.protocol_display'),
        SearchField.set(name='Inbound Port Rage',
                        key='data.ip_permissions.port_display'),
        SearchField.set(name='Inbound Source',
                        key='data.ip_permissions.source_display'),
        SearchField.set(name='Outbound Protocol',
                        key='data.ip_permissions_egress.protocol_display'),
        SearchField.set(name='Outbound Port Rage',
                        key='data.ip_permissions_egress.port_display'),
        SearchField.set(name='Outbound Source',
                        key='data.ip_permissions_egress.source_display'),
        SearchField.set(name='Region', key='data.region_name'),
    'spaceone:icon':
    'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-API-Gateway.svg',
    'spaceone:is_major': 'true',
}

cst_rest_api._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('ID', 'data.id'),
        TextDyField.data_source('Name', 'data.name'),
        ListDyField.data_source('Endpoint Type',
                                'data.endpoint_configuration.types',
                                default_badge={'type': 'outline'}),
        TextDyField.data_source('Description', 'data.description')
    ],
    search=[
        SearchField.set(name='Rest API ID', key='data.id'),
        SearchField.set(name='Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='API Key Source', key='data.api_key_source'),
        SearchField.set(name='Creation Time',
                        key='data.created_date',
                        data_type='datetime'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

cst_web_socket = CloudServiceTypeResource()
cst_web_socket.name = 'HTTPWebsocket'
cst_web_socket.provider = 'aws'
cst_web_socket.group = 'APIGateway'
cst_web_socket.labels = ['Networking']
         "Status",
         "data.stream_status_display",
         default_state={
             "safe": ["Active"],
             "warning": ["Creating", "Deleting", "Updating"],
         },
     ),
     TextDyField.data_source("Open shards", "data.open_shards_num"),
     TextDyField.data_source("Data retention period",
                             "data.retention_period_display"),
     TextDyField.data_source("Encryption", "data.encryption_display"),
     TextDyField.data_source("Consumers with enhanced fan-out",
                             "data.consumers_vo.num_of_consumers"),
 ],
 search=[
     SearchField.set(name="Stream Name", key="data.stream_name"),
     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",
                                    'sub_key': 'id',
                                    'delimiter': '<br>',
                                    'is_optional': True
                                }),
        ListDyField.data_source('Notification ARN',
                                'data.notification_configurations',
                                options={
                                    'sub_key': 'arn',
                                    'delimiter': '<br>',
                                    'is_optional': True
                                }),
        TextDyField.data_source('AWS Account ID',
                                'data.account_id',
                                options={'is_optional': True})
    ],
    search=[
        SearchField.set(name='Bucket Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        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}),
]
        TextDyField.data_source('Logging (S3 Bucket)',
                                'data.logging_info.s3.bucket',
                                options={'is_optional': True}),
        TextDyField.data_source('Logging (Firehose)',
                                'data.logging_info.firehose.delivery_stream',
                                options={'is_optional': True}),
        TextDyField.data_source(
            'Logging (Cloudwatch)',
            'data.logging_info.broker_logs.cloud_watch_logs',
            options={'is_optional': True}),
        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='Cluster ARN', key='data.cluster_arn'),
        SearchField.set(name='Kafka Version',
                        key='data.current_broker_software_info.kafka_version'),
        SearchField.set(name='Broker Type',
                        key='data.broker_node_group_info.instance_type'),
        SearchField.set(name='Status', key='data.state'),
        SearchField.set(name='Creation Time',
                        key='data.creation_time',
                        data_type='datetime'),
    ])

# CONFIGURATION
cst_config = CloudServiceTypeResource()
cst_config.name = 'ClusterConfiguration'
cst_config.provider = 'aws'
Exemplo n.º 8
0
        TextDyField.data_source('Registry ARN ',
                                'data.repository_arn',
                                options={'is_optional': True}),
        TextDyField.data_source('Image Tag Mutability ',
                                'data.image_tag_mutability',
                                options={'is_optional': True}),
        TextDyField.data_source(
            'Image Scanning on Push ',
            'data.image_scanning_configuration.scan_on_push',
            options={'is_optional': True}),
        TextDyField.data_source('AWS Account ID',
                                'data.account_id',
                                options={'is_optional': True}),
    ],
    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}),
]
cst_filesystem._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('ID', 'data.file_system_id'),
        TextDyField.data_source('Name', 'data.name'),
        EnumDyField.data_source('State', 'data.life_cycle_state', default_state={
            'safe': ['available'],
            'warning': ['creating', 'updating', 'deleting'],
            'disable': ['deleted']
        }),
        TextDyField.data_source('Metered Sizes (Bytes)', 'data.size_in_bytes.value'),
        TextDyField.data_source('Mount Targets', 'data.number_of_mount_targets'),
        DateTimeDyField.data_source('Creation date', 'data.creation_time'),
    ],
    search=[
        SearchField.set(name='File System ID', key='data.file_system_id'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Name', key='data.name'),
        SearchField.set(name='State', key='data.life_cycle_state',
                        enums={
                            'available': {'label': 'available', 'icon': {'color': 'green.500'}},
                            'creating': {'label': 'creating', 'icon': {'color': 'yellow.500'}},
                            'updating': {'label': 'updating', 'icon': {'color': 'yellow.500'}},
                            'deleting': {'label': 'deleting', 'icon': {'color': 'yellow.500'}},
                            'deleted': {'label': 'deleted', 'icon': {'color': 'gray.400'}},
                        }),
        SearchField.set(name='Metered Size (Bytes)', key='data.size_in_bytes.value', data_type='integer'),
        SearchField.set(name='Performance Mode', key='data.performance_mode',
                        enums={
                            'generalPurpose': {'label': 'General Purpose'},
                            'maxIO': {'label': 'Max IO'},
Exemplo n.º 10
0
        }),
        TextDyField.data_source('Replication Group ID', 'data.replication_group_id', options={
            'is_optional': True
        }),
        TextDyField.data_source('Snapshot Window', 'data.snapshot_window', options={
            'is_optional': True
        }),
        TextDyField.data_source('Subnet Group Name', 'data.cache_subnet_group_name', options={
            'is_optional': True
        }),
        TextDyField.data_source('Auth Token Enabled', 'data.auth_token_enabled', options={
            'is_optional': True
        }),
    ],
    search=[
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Status', key='data.status'),
        SearchField.set(name='Nodes', key='data.num_cache_nodes', data_type='integer'),
        SearchField.set(name='Node Type', key='instance_type'),
        SearchField.set(name='Zone', key='data.preferred_availability_zone'),
        SearchField.set(name='Configuration Endpoint Address', key='data.configuration_endpoint.address'),
        SearchField.set(name='Configuration Endpoint Port', key='data.configuration_endpoint.port'),
    ]
)


cst_redis = CloudServiceTypeResource()
cst_redis.name = 'Redis'
cst_redis.provider = 'aws'
cst_redis.group = 'ElastiCache'
cst_redis.labels = ['Database']
Exemplo n.º 11
0
                                    'sub_key': 'name',
                                    'delimiter': '<br>',
                                    'is_optional': True
                                }),
        ListDyField.data_source('Record Set TTLs',
                                'data.record_sets',
                                options={
                                    'sub_key': 'ttl',
                                    'delimiter': '<br>',
                                    'is_optional': True
                                }),
        TextDyField.data_source('AWS Account ID',
                                'data.account_id',
                                options={'is_optional': True})
    ],
    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}),
]
cst_que.labels = ['Application Integration']
cst_que.is_primary = True
cst_que.is_major = True
cst_que.service_code = 'AWSQueueService'
cst_que.tags = {
    'spaceone:icon':
    'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-SQS.svg',
}

cst_que._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('name', 'data.name'),
        TextDyField.data_source('url', 'data.url'),
    ],
    search=[
        SearchField.set(name='Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='URL', key='data.url'),
        SearchField.set(name='Maximum Message Size (Bytes)',
                        key='data.maximum_message_size',
                        data_type='integer'),
        SearchField.set(name='Approximate Number of Messages',
                        key='data.approximate_number_of_messages',
                        data_type='integer'),
        SearchField.set(name='Created Time',
                        key='data.created_timestamp',
                        data_type='datetime'),
        SearchField.set(name='Last Modified Time',
                        key='data.last_modified_timestamp',
                        data_type='datetime'),
        SearchField.set(name='Region', key='data.region_name'),
Exemplo n.º 13
0
        TextDyField.data_source('Subscription Deleted',
                                'data.subscription_deleted',
                                options={'is_optional': True}),
        TextDyField.data_source('KMS ID',
                                'data.kms.kms_id',
                                options={'is_optional': True}),
        TextDyField.data_source('KMS ARN',
                                'data.kms.arn',
                                options={'is_optional': True}),
        TextDyField.data_source('KMS Alias',
                                'data.kms.alias',
                                options={'is_optional': True}),
        TextDyField.data_source('AWS Account ID',
                                'data.account_id',
                                options={'is_optional': True}),
    ],
    search=[
        SearchField.set(name='Topic Name', key='data.name'),
        SearchField.set(name='Topic ARN', key='data.topic_arn'),
        SearchField.set(name='Subscription ARN',
                        key='data.subscriptions.subscription_arn'),
        SearchField.set(name='Endpoint', key='data.subscriptions.endpoint'),
        SearchField.set(name='Protocol', key='data.subscriptions.protocol'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ])

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_topic}),
]
Exemplo n.º 14
0
     EnumDyField.data_source('State',
                             'data.connection_state',
                             default_state={
                                 'safe': ['available'],
                                 'available': ['requested'],
                                 'alert': ['down', 'rejected'],
                                 'warning':
                                 ['ordering', 'pending', 'deleting'],
                                 'disable': ['unknown', 'deleted']
                             }),
     TextDyField.data_source('Region', 'data.region'),
     TextDyField.data_source('Location', 'data.location'),
     TextDyField.data_source('Bandwidth', 'data.bandwidth'),
 ],
 search=[
     SearchField.set(name='Connection ID', key='data.connection_id'),
     SearchField.set(name='Name', key='data.connection_name'),
     SearchField.set(name='ARN', key='data.arn'),
     SearchField.set(name='State',
                     key='data.connection_state',
                     enums={
                         'available': {
                             'label': 'Available',
                             'icon': {
                                 'color': 'green.500'
                             }
                         },
                         'requested': {
                             'label': 'Requested',
                             'icon': {
                                 'color': 'blue.400'
cst_sg.service_code = 'AmazonEC2'
cst_sg.tags = {
    'spaceone:icon':
    'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-VPC_VPN-Gateway_dark-bg.svg',
}

cst_sg._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('ID', 'data.group_id'),
        TextDyField.data_source('Name', 'data.group_name'),
        TextDyField.data_source('VPC ID', 'data.vpc_id'),
        TextDyField.data_source('Description', 'data.description'),
        TextDyField.data_source('Account ID', 'data.owner_id')
    ],
    search=[
        SearchField.set(name='Security Group ID', key='data.group_id'),
        SearchField.set(name='Name', key='data.group_name'),
        SearchField.set(name='VPC ID', key='data.vpc_id'),
        SearchField.set(name='Inbound Protocol',
                        key='data.ip_permissions.protocol_display'),
        SearchField.set(name='Inbound Port Rage',
                        key='data.ip_permissions.port_display'),
        SearchField.set(name='Inbound Source',
                        key='data.ip_permissions.source_display'),
        SearchField.set(name='Outbound Protocol',
                        key='data.ip_permissions_egress.protocol_display'),
        SearchField.set(name='Outbound Port Rage',
                        key='data.ip_permissions_egress.port_display'),
        SearchField.set(name='Outbound Source',
                        key='data.ip_permissions_egress.source_display'),
        SearchField.set(name='Region', key='data.region_name'),
                                     'restore-error', 'stopped',
                                     'storage-full'
                                 ]
                             }),
     TextDyField.data_source('VPC', 'data.vpc_id'),
     TextDyField.data_source('Region & AZ', 'data.availability_zone'),
     EnumDyField.data_source('Multi-AZ',
                             'data.multi_az',
                             default_badge={
                                 'indigo.500': ['true'],
                                 'coral.600': ['false']
                             }),
     TextDyField.data_source('Maintenance', 'data.maintenance'),
 ],
 search=[
     SearchField.set(name='DB Identifier', key='data.db_identifier'),
     SearchField.set(name='ARN', key='data.arn'),
     SearchField.set(name='Role',
                     key='data.role',
                     enums={
                         'cluster': {
                             'label': 'Cluster'
                         },
                         'instance': {
                             'label': 'Instance'
                         },
                     }),
     SearchField.set(name='Status',
                     key='data.status',
                     enums={
                         "available": {
cst_asg.tags = {
    'spaceone:icon': 'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-EC2-Auto-Scaling.svg',
}

cst_asg._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Name', 'data.auto_scaling_group_name'),
        TextDyField.data_source('Desired', 'data.desired_capacity'),
        TextDyField.data_source('Min', 'data.min_size'),
        TextDyField.data_source('Max', 'data.max_size'),
        TextDyField.data_source('Launch Template / Configuration', 'data.display_launch_configuration_template'),
        ListDyField.data_source('AZ', 'data.availability_zones',
                                default_badge={'delimiter': '<br>'})
    ],
    search=[
        SearchField.set(name='Name', key='data.auto_scaling_group_name'),
        SearchField.set(name='ARN', key='data.auto_scaling_group_arn'),
        SearchField.set(name='Launch Configuration Name', key='data.launch_configuration_name'),
        SearchField.set(name='Availability Zone', key='data.availability_zones'),
        SearchField.set(name='Creation Time', key='data.created_time', data_type='datetime'),
        SearchField.set(name='Instance ID', key='data.instances.instance_id'),
        SearchField.set(name='Region', key='region_code'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ]
)

launch_configuration = CloudServiceTypeResource()
launch_configuration.name = 'LaunchConfiguration'
launch_configuration.provider = 'aws'
launch_configuration.group = 'EC2'
launch_configuration.labels = ['Compute']
                             options={'is_optional': True}),
     TextDyField.data_source('Region',
                             'data.location.region_name',
                             options={'is_optional': True}),
     TextDyField.data_source('Is Static IP',
                             'data.is_static_ip',
                             options={'is_optional': True}),
     TextDyField.data_source('Username',
                             'data.username',
                             options={'is_optional': True}),
     TextDyField.data_source('SSH Key Name',
                             'data.ssh_key_name',
                             options={'is_optional': True})
 ],
 search=[
     SearchField.set(name='ARN', key='data.arn'),
     SearchField.set(name='Bundle ID', key='data.bundle_id'),
     SearchField.set(name='Blueprint', key='data.blueprint_name'),
     SearchField.set(name='CPU Core',
                     key='data.hardware.cpu_count',
                     data_type='integer'),
     SearchField.set(name='Memory',
                     key='data.hardware.ram_size_in_gb',
                     data_type='float'),
     SearchField.set(name='Availability Zone',
                     key='data.location.availability_zone'),
     SearchField.set(name='Public IP', key='data.public_ip_address'),
     SearchField.set(name='Private IP', key='data.private_ip_address'),
     SearchField.set(name='Support Code', key='data.support_code'),
     SearchField.set(name='Is Static IP',
                     key='data.is_static_ip',
Exemplo n.º 19
0
         'is_optional': True
     }),
     TextDyField.data_source('Multi Attach Enabled', 'data.multi_attach_enabled', options={
         'is_optional': True
     }),
     ListDyField.data_source('Attached Instance ID', 'data.attachments', options={
         'sub_key': 'instance_id',
         'delimiter': '<br>',
         'is_optional': True
     }),
     TextDyField.data_source('AWS Account ID', 'data.account_id', options={
         'is_optional': True
     })
 ],
 search=[
     SearchField.set(name='Volume ID', key='data.volume_id'),
     SearchField.set(name='ARN', key='data.arn'),
     SearchField.set(name='State', key='data.state',
                     enums={
                         'in-use': {'label': 'in-use', 'icon': {'color': 'green.500'}},
                         'available': {'label': 'available', 'icon': {'color': 'blue.400'}},
                         'deleting': {'label': 'deleting', 'icon': {'color': 'yellow.500'}},
                         'creating': {'label': 'creating', 'icon': {'color': 'yellow.500'}},
                         'deleted': {'label': 'deleted', 'icon': {'color': 'gray.400'}},
                         'error': {'label': 'error', 'icon': {'color': 'red.500'}},
                     }),
     SearchField.set(name='Size (Bytes)', key='instance_size', data_type='integer'),
     SearchField.set(name='Size (GB)', key='data.size_gb', data_type='integer'),
     SearchField.set(name='Volume Type', key='instance_type',
                     enums={
                         'gp2': {'label': 'General Purpose SSD (gp2)'},
     DateTimeDyField.data_source('Latest Restorable Time',
                                 'data.latest_restorable_time',
                                 options={'is_optional': True}),
     TextDyField.data_source('Hosted Zone ID',
                             'data.hosted_zone_id',
                             options={'is_optional': True}),
     ListDyField.data_source('Security Groups',
                             'data.vpc_security_groups',
                             options={
                                 'delimiter': '<br>',
                                 'sub_key': 'vpc_security_group_id',
                                 'is_optional': True
                             })
 ],
 search=[
     SearchField.set(name='Cluster Identifier',
                     key='data.db_cluster_identifier'),
     SearchField.set(name='ARN', key='data.db_cluster_arn'),
     SearchField.set(name='Status', key='data.status'),
     SearchField.set(name='Engine', key='data.engine'),
     SearchField.set(name='Version', key='data.engine_version'),
     SearchField.set(name='Cluster Endpoint', key='data.endpoint'),
     SearchField.set(name='Cluster Read Endpoint',
                     key='data.reader_endpoint'),
     SearchField.set(name='Port', key='data.port', data_type='integer'),
     SearchField.set(name='Cluster Parameter Group',
                     key='data.db_cluster_parameter_group'),
     SearchField.set(name='Deletion Protection',
                     key='data.deletion_protection',
                     data_type='boolean'),
     SearchField.set(name='Avaiilability Zone',
                     key='data.availability_zones'),
                             'data.tasks',
                             options={
                                 'sub_key': 'cpu',
                                 'delimiter': '<br>',
                                 'is_optional': True
                             }),
     ListDyField.data_source('Tasks CPU',
                             'data.tasks',
                             options={
                                 'sub_key': 'memory',
                                 'delimiter': '<br>',
                                 'is_optional': True
                             })
 ],
 search=[
     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={
Exemplo n.º 22
0
cst_distribution._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Id', 'data.id'),
        TextDyField.data_source('Domain Name', 'data.domain_name'),
        EnumDyField.data_source('Status',
                                'data.status',
                                default_state={'safe': ['Deployed']}),
        ListDyField.data_source('CNAME',
                                'data.alias_icp_recordals',
                                default_badge={
                                    'type': 'outline',
                                    'sub_key': 'cname',
                                }),
    ],
    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'),
    'spaceone:icon': 'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-Elastic-Kubernetes-Service.svg',
    'spaceone:is_major': 'true',
}

cst_eks_cluster._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Name', 'data.name'),
        TextDyField.data_source('Version', 'data.version'),
        EnumDyField.data_source('Status', 'data.status', default_state={
            'safe': ['ACTIVE'],
            'warning': ['CREATING', 'DELETING', 'UPDATING'],
            'alert': ['FAILED']
        })
    ],
    search=[
        SearchField.set(name='Cluster Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Status', key='data.status',
                        enums={
                            'ACTIVE': {'label': 'ACTIVE', 'icon': {'color': 'green.500'}},
                            'CREATING': {'label': 'CREATING', 'icon': {'color': 'yellow.500'}},
                            'UPDATING': {'label': 'UPDATING', 'icon': {'color': 'yellow.500'}},
                            'DELETING': {'label': 'DELETING', 'icon': {'color': 'yellow.500'}},
                            'FAILED': {'label': 'FAILED', 'icon': {'color': 'red.500'}},
                        }),
        SearchField.set(name='Cluster Version', key='data.version'),
        SearchField.set(name='Cluster Endpoint', key='data.endpoint'),
        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'),
    ]
Exemplo n.º 24
0
        DateTimeDyField.data_source('Last Changed Date', 'data.last_changed_date', options={
            'is_optional': True
        }),
        DateTimeDyField.data_source('Last Accessed Date', '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
        }),
        TextDyField.data_source('AWS Account ID', 'data.account_id', options={
            'is_optional': True
        }),
    ],
    search=[
        SearchField.set(name='Name', key='data.name'),
        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'),
        SearchField.set(name='Region', key='data.region_name'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
    ]
)

CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_secret}),
]
    'spaceone:icon':
    'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/AWS-Lambda.svg',
}

cst_function._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('Name', 'data.name'),
        BadgeDyField.data_source('Runtime', 'data.runtime'),
        SizeField.data_source('Code Size', 'data.code_size'),
        SizeField.data_source('Memory Size',
                              'data.memory_size',
                              options={'source_unit': 'MB'}),
        TextDyField.data_source('Description', 'data.description'),
    ],
    search=[
        SearchField.set(name='Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Runtime', key='data.runtime'),
        SearchField.set(name='State',
                        key='data.state.type',
                        enums={
                            "Active": {
                                'label': 'Active',
                                'icon': {
                                    'color': 'green.500'
                                }
                            },
                            "Pending": {
                                'label': 'Pending',
                                'icon': {
                                    'color': 'yellow.400'
Exemplo n.º 26
0
cst_api.is_primary = True
cst_api.is_major = True
cst_api.service_code = 'AmazonApiGateway'
cst_api.tags = {
    'spaceone:icon': 'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-API-Gateway.svg',
}

cst_api._metadata = CloudServiceTypeMeta.set_meta(
    fields=[
        TextDyField.data_source('ID', 'data.id'),
        TextDyField.data_source('Name', 'data.name'),
        EnumDyField.data_source('Protocol', 'data.protocol', default_outline_badge=['REST', 'WEBSOCKET', 'HTTP']),
        TextDyField.data_source('Endpoint Type', 'data.endpoint_type'),
        DateTimeDyField.data_source('Creation Time', 'data.created_date')
    ],
    search=[
        SearchField.set(name='ID', key='data.id'),
        SearchField.set(name='Name', key='data.name'),
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='Protocol', key='data.protocol'),
        SearchField.set(name='Endpoint Type', key='data.endpoint_type'),
        SearchField.set(name='AWS Account ID', key='data.account_id'),
        SearchField.set(name='Creation Time', key='data.create_date', data_type='datetime'),
    ]
)


CLOUD_SERVICE_TYPES = [
    CloudServiceTypeResponse({'resource': cst_api}),
]
Exemplo n.º 27
0
                                options={"delimiter": ", "}),
        EnumDyField.data_source('Status',
                                'data.status',
                                default_state={
                                    'safe': ['ISSUED'],
                                    'warning': [
                                        'PENDING_VALIDATION', 'INACTIVE',
                                        'VALIDATION_TIMED_OUT', 'REVOKED'
                                    ],
                                    'alert': ['EXPIRED', 'FAILED']
                                }),
        TextDyField.data_source('Type', 'data.type_display'),
        TextDyField.data_source('In use?', 'data.in_use_display'),
        TextDyField.data_source('Renewal Eligibility',
                                'data.renewal_eligibility_display'),
    ],
    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}),
]
Exemplo n.º 28
0
                           options={'is_optional': True}),
     TextDyField.data_source('Item Count',
                             'data.item_count',
                             options={'is_optional': True}),
     TextDyField.data_source('Time to Live Status',
                             'data.time_to_live.time_to_live_status',
                             options={'is_optional': True}),
     TextDyField.data_source('Billing Mode',
                             'data.billing_mode_summary.billing_mode',
                             options={'is_optional': True}),
     TextDyField.data_source('AWS Account ID',
                             'data.account_id',
                             options={'is_optional': True}),
 ],
 search=[
     SearchField.set(name='Table Name', key='data.table_name'),
     SearchField.set(name='Table ARN', key='data.table_arn'),
     SearchField.set(name='Table Status',
                     key='data.table_status',
                     enums={
                         'ACTIVE': {
                             'label': 'ACTIVE',
                             'icon': {
                                 'color': 'green.500'
                             }
                         },
                         'CREATING': {
                             'label': 'CREATING',
                             'icon': {
                                 'color': 'yellow.500'
                             }
Exemplo n.º 29
0
                             options={'is_optional': True}),
     TextDyField.data_source('NAT Gateway ID',
                             'data.nat_gateway_id',
                             options={'is_optional': True}),
     TextDyField.data_source('Association ID',
                             'data.association_id',
                             options={'is_optional': True}),
     TextDyField.data_source('Allocation ID',
                             'data.allocation_id',
                             options={'is_optional': True}),
     TextDyField.data_source('AWS Account ID',
                             'data.account_id',
                             options={'is_optional': True})
 ],
 search=[
     SearchField.set(name='IP Address', key='data.public_ip'),
     SearchField.set(name='Name', key='data.name'),
     SearchField.set(name='Associated Instance ID', key='data.instance_id'),
     SearchField.set(name='Public DNS', key='data.public_dns'),
     SearchField.set(name='Private IP', key='data.private_ip_address'),
     SearchField.set(name='NAT Gateway ID', key='data.nat_gateway_id'),
     SearchField.set(name='Scope',
                     key='data.domain',
                     enums={
                         'vpc': {
                             'label': 'VPC'
                         },
                         'standard': {
                             'label': 'Standard'
                         },
                     }),
        }),
        TextDyField.data_source('KMS Master Key ID', 'data.kms_master_key_id', options={
            'is_optional': True
        }),
        TextDyField.data_source('KMS Reuse Period Seconds', 'data.kms_data_key_reuse_period_seconds', options={
            'is_optional': True
        }),
        TextDyField.data_source('Dead Letter Target ARN', 'data.redrive_policy.dead_letter_target_arn', options={
            'is_optional': True
        }),
        TextDyField.data_source('Max Recieve Count', 'data.redrive_policy.max_receive_count', options={
            'is_optional': True
        })
    ],
    search=[
        SearchField.set(name='ARN', key='data.arn'),
        SearchField.set(name='URL', key='data.url'),
        SearchField.set(name='Maximum Message Size (Bytes)', key='data.maximum_message_size', data_type='integer'),
        SearchField.set(name='Approximate Number of Messages', key='data.approximate_number_of_messages',
                        data_type='integer'),
        SearchField.set(name='Last Modified Time', key='data.last_modified_timestamp', data_type='datetime'),
    ],
    widget=[
        CardWidget.set(**get_data_from_yaml(total_count_conf)),
        CardWidget.set(**get_data_from_yaml(queue_max_message_total_size_conf)),
        ChartWidget.set(**get_data_from_yaml(count_by_region_conf)),
        ChartWidget.set(**get_data_from_yaml(count_by_account_conf)),
        ChartWidget.set(**get_data_from_yaml(queue_max_message_total_size_by_account_conf)),
    ]
)