# TextDyField.data_source('DomainName', 'domain_name'), # TextDyField.data_source('OriginPath', 'origin_path'), # ] # origin_groups = TableDynamicView({'name': 'Origin Groups', 'key_path': 'data.distribution_config.origin_groups.items'}) # origin_groups.data_source = [ # TextDyField.data_source('Id', 'id'), # ListDyField.data_source('Members', 'members.items', # view_option=ListViewOption({ # 'item': TextDyField(), # 'sub_key': 'cname', # })), # ] # # metadata.sub_data = [origins, origin_groups] meta = CloudServiceMeta.set() class CloudFrontResource(CloudServiceResource): cloud_service_group = StringType(default='CloudFront') class DistributionResource(CloudFrontResource): cloud_service_type = StringType(default='Distribution') data = ModelType(DistributionData) cloud_service_meta = ModelType(CloudServiceMeta, default=meta) class CloudFrontResponse(CloudServiceResponse): resource = PolyModelType(DistributionResource)
# TextDyField.data_source('Encryption at-rest', 'data.cluster.at_rest_encryption_enabled'), # TextDyField.data_source('Redis AUTH', 'data.auth_enabled'), # TextDyField.data_source('AUTH Token Last Modified Date', 'data.auth_token_last_modified_date'), # TextDyField.data_source('Customer Managed CMK', 'data.cluster.kms_key_id'), # ] # # redis_node = TableDynamicView({'name': 'Nodes', 'key_path': 'data.nodes'}) # redis_node.data_source = [ # TextDyField.data_source('Name', 'data.cluster_name'), # ] # # redis_metadata = BaseMetaData() # redis_metadata.details = [redis_base_detail, ] # redis_metadata.sub_data = [redis_node, ] memcached_metadata = CloudServiceMeta.set() redis_metadata = CloudServiceMeta.set() # Memcached class ElasticCacheResource(CloudServiceResource): cloud_service_group = StringType(default='ElastiCache') class MemcachedResource(ElasticCacheResource): cloud_service_type = StringType(default='Memcached') data = ModelType(Memcached) cloud_service_meta = ModelType(CloudServiceMeta, default=memcached_metadata)