def update_regional_ddb_items(region_name):
    """
    Update all services in the cache for a region.
    """
    try:
        content.put_ddb_items(medialive_input_ddb_items(region_name))
    except ClientError as error:
        print(error)
    try:
        content.put_ddb_items(medialive_channel_ddb_items(region_name))
    except ClientError as error:
        print(error)
    try:
        content.put_ddb_items(mediapackage_channel_ddb_items(region_name))
    except ClientError as error:
        print(error)
    try:
        content.put_ddb_items(
            mediapackage_origin_endpoint_ddb_items(region_name))
    except ClientError as error:
        print(error)
    try:
        content.put_ddb_items(mediastore_container_ddb_items(region_name))
    except ClientError as error:
        print(error)
예제 #2
0
def update_regional_ssm_ddb_items(region_name):
    """
    Update ssm nodes in the cache for a region.
    """
    try:
        print("ssm-managed-instances")
        content.put_ddb_items(ssm_managed_instance_ddb_items(region_name))
    except ClientError as error:
        print(error)
def update_nodes():
    """
    Entry point for the CloudWatch scheduled task to discover and cache services.
    """
    try:
        never_regions_key = "never-cache-regions"
        never_regions = msam_settings.get_setting(never_regions_key)
        if never_regions is None:
            never_regions = []
        settings_key = "cache-next-region"
        # make a region name list
        region_name_list = []
        for region in regions():
            region_name = region["RegionName"]
            # exclude regions listed in never-cache setting
            if region_name not in never_regions:
                region_name_list.append(region_name)
            else:
                print("{} in {} setting".format(region_name,
                                                never_regions_key))
        # sort it
        region_name_list.sort()
        # get the next region to process
        next_region = msam_settings.get_setting(settings_key)
        # start at the beginning if no previous setting
        if next_region is None:
            next_region = region_name_list[0]
        # otherwise it's saved for us
        region_name = next_region
        # store the region for the next schedule
        try:
            # process global after the end of the region list
            if region_name_list.index(next_region) + 1 >= len(
                    region_name_list):
                next_region = "global"
            else:
                next_region = region_name_list[
                    region_name_list.index(next_region) + 1]
        except (IndexError, ValueError):
            # start over if we don't recognize the region, ex. global
            next_region = region_name_list[0]
        # store it
        msam_settings.put_setting(settings_key, next_region)
        # update the region
        print("updating region {}".format(region_name))
        if region_name == "global":
            content.put_ddb_items(node_cache.s3_bucket_ddb_items())
            content.put_ddb_items(
                node_cache.cloudfront_distribution_ddb_items())
        else:
            node_cache.update_regional_ddb_items(region_name)
    except ClientError as error:
        print(error)
    return True
예제 #4
0
def update_global_ddb_items():
    """
    Update all global services in the cache.
    """
    try:
        print("s3-bucket")
        content.put_ddb_items(s3_bucket_ddb_items())
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("cloudfront-distribution")
        content.put_ddb_items(cloudfront_distribution_ddb_items())
    except (ClientError, EndpointConnectionError) as error:
        print(error)
def update_nodes():
    """
    Entry point for the CloudWatch scheduled task to discover and cache services.
    """
    try:
        never_regions_key = "never-cache-regions"
        never_regions = msam_settings.get_setting(never_regions_key)
        if never_regions is None:
            never_regions = []
        settings_key = "cache-next-region"
        # make a region name list
        region_name_list = []
        for region in regions():
            region_name = region["RegionName"]
            # exclude regions listed in never-cache setting
            if region_name not in never_regions:
                region_name_list.append(region_name)
            else:
                print("{} in {} setting".format(region_name, never_regions_key))
        # sort it
        region_name_list.sort()
        # get the next region to process
        next_region = msam_settings.get_setting(settings_key)
        # start at the beginning if no previous setting
        if next_region is None:
            next_region = region_name_list[0]
        # otherwise it's saved for us
        region_name = next_region
        # store the region for the next schedule
        try:
            # process global after the end of the region list
            if region_name_list.index(next_region) + 1 >= len(region_name_list):
                next_region = "global"
            else:
                next_region = region_name_list[region_name_list.index(next_region) + 1]
        except (IndexError, ValueError):
            # start over if we don't recognize the region, ex. global
            next_region = region_name_list[0]
        # store it
        msam_settings.put_setting(settings_key, next_region)
        # update the region
        print("updating region {}".format(region_name))
        if region_name == "global":
            content.put_ddb_items(node_cache.s3_bucket_ddb_items())
            content.put_ddb_items(node_cache.cloudfront_distribution_ddb_items())
        else:
            node_cache.update_regional_ddb_items(region_name)
    except ClientError as error:
        print(error)
    return True
def update_connection_ddb_items():
    """
    Update all connections in the cache.
    """
    try:
        content.put_ddb_items(
            medialive_channel_mediapackage_channel_ddb_items())
        content.put_ddb_items(
            medialive_channel_mediastore_container_ddb_items())
        content.put_ddb_items(mediastore_container_medialive_input_ddb_items())
    except ClientError as error:
        print(error)
def update_connection_ddb_items():
    """
    Update all connections in the cache.
    """
    try:
        content.put_ddb_items(
            medialive_channel_mediapackage_channel_ddb_items())
        content.put_ddb_items(
            medialive_channel_mediastore_container_ddb_items())
        content.put_ddb_items(mediastore_container_medialive_input_ddb_items())
        content.put_ddb_items(medialive_input_medialive_channel_ddb_items())
        content.put_ddb_items(
            mediapackage_channel_mediapackage_endpoint_ddb_items())
        content.put_ddb_items(s3_bucket_cloudfront_distribution_ddb_items())
        content.put_ddb_items(s3_bucket_medialive_input_ddb_items())
        content.put_ddb_items(
            cloudfront_distribution_medialive_input_ddb_items())
        content.put_ddb_items(
            mediapackage_endpoint_cloudfront_distribution_by_tag_ddb_items())
        content.put_ddb_items(
            mediapackage_endpoint_cloudfront_distribution_by_origin_url_ddb_items(
            ))
        content.put_ddb_items(
            mediapackage_endpoint_speke_keyserver_ddb_items())
        content.put_ddb_items(mediaconnect_flow_medialive_input_ddb_items())
        content.put_ddb_items(mediaconnect_flow_mediaconnect_flow_ddb_items())
        content.put_ddb_items(
            mediapackage_endpoint_mediatailor_configuration_ddb_items())
        content.put_ddb_items(s3_bucket_mediatailor_configuration_ddb_items())
        content.put_ddb_items(
            mediastore_container_mediatailor_configuration_ddb_items())
        content.put_ddb_items(medialive_channel_multiplex_ddb_items())
        content.put_ddb_items(multiplex_mediaconnect_flow_ddb_items())
    except ClientError as error:
        print(error)
예제 #8
0
def update_regional_ddb_items(region_name):
    """
    Update all services in the cache for a region.
    """
    try:
        print("medialive-input")
        content.put_ddb_items(medialive_input_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("medialive-channel")
        content.put_ddb_items(medialive_channel_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("medialive-multiplex")
        content.put_ddb_items(medialive_multiplex_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("mediapackage-channel")
        content.put_ddb_items(mediapackage_channel_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("mediapackage-origin-endpoint")
        content.put_ddb_items(mediapackage_origin_endpoint_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("mediastore-container")
        content.put_ddb_items(mediastore_container_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("speke-server")
        content.put_ddb_items(speke_server_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        print("mediaconnect-flow")
        content.put_ddb_items(mediaconnect_flow_ddb_items(region_name))
    except ClientError as error:
        print(error)
    try:
        print("mediatailor-configuration")
        content.put_ddb_items(mediatailor_configuration_ddb_items(region_name))
    except ClientError as error:
        print(error)
    try:
        print("ec2-instances")
        content.put_ddb_items(ec2_instance_ddb_items(region_name))
    except ClientError as error:
        print(error)
    try:
        print("link-devices")
        content.put_ddb_items(link_device_ddb_items(region_name))
    except ClientError as error:
        print(error)
def update_connection_ddb_items():
    """
    Update all connections in the cache.
    """
    try:
        content.put_ddb_items(medialive_channel_mediapackage_channel_ddb_items())
        content.put_ddb_items(medialive_channel_mediastore_container_ddb_items())
        content.put_ddb_items(mediastore_container_medialive_input_ddb_items())
        content.put_ddb_items(medialive_input_medialive_channel_ddb_items())
        content.put_ddb_items(mediapackage_channel_mediapackage_endpoint_ddb_items())
        content.put_ddb_items(s3_bucket_cloudfront_distribution_ddb_items())
        content.put_ddb_items(s3_bucket_medialive_input_ddb_items())
        content.put_ddb_items(cloudfront_distribution_medialive_input_ddb_items())
        content.put_ddb_items(mediapackage_endpoint_cloudfront_distribution_by_tag_ddb_items())
        content.put_ddb_items(mediapackage_endpoint_cloudfront_distribution_by_origin_url_ddb_items())
        content.put_ddb_items(mediapackage_endpoint_speke_keyserver_ddb_items())
    except ClientError as error:
        print(error)
def update_regional_ddb_items(region_name):
    """
    Update all services in the cache for a region.
    """
    try:
        content.put_ddb_items(medialive_input_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        content.put_ddb_items(medialive_channel_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        content.put_ddb_items(mediapackage_channel_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        content.put_ddb_items(mediapackage_origin_endpoint_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        content.put_ddb_items(mediastore_container_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)
    try:
        content.put_ddb_items(speke_server_ddb_items(region_name))
    except (ClientError, EndpointConnectionError) as error:
        print(error)