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)
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
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)
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)