class AwsEcsCluster
def fetch_from_api
def fetch_from_api backend = BackendFactory.create(inspec_runner) begin # Use default cluster if no cluster name is specified params = cluster_name.nil? ? {} : { clusters: [cluster_name] } clusters = backend.describe_clusters(params).clusters # Cluster name is unique, we either get back one cluster, or none if clusters.length == 1 @exists = true unpack_describe_clusters_response(clusters.first) else @exists = false populate_as_missing end end end
def populate_as_missing
def populate_as_missing @cluster_arn = '' @cluster_name = '' @status = '' @registered_container_instances_count = 0 @running_tasks_count = 0 @pending_tasks_count = 0 @active_services_count = 0 @statistics = [] end
def to_s
def to_s "AWS ECS cluster #{cluster_name}" end
def unpack_describe_clusters_response(cluster_struct)
def unpack_describe_clusters_response(cluster_struct) @cluster_arn = cluster_struct.cluster_arn @cluster_name = cluster_struct.cluster_name @status = cluster_struct.status @registered_container_instances_count = cluster_struct.registered_container_instances_count @running_tasks_count = cluster_struct.running_tasks_count @pending_tasks_count = cluster_struct.pending_tasks_count @active_services_count = cluster_struct.active_services_count @statistics = cluster_struct.statistics end
def validate_params(raw_params)
def validate_params(raw_params) validated_params = check_resource_param_names( raw_params: raw_params, allowed_params: [:cluster_name], allowed_scalar_name: :cluster_name, allowed_scalar_type: String, ) validated_params end