Recurso de Cloud Gem Framework Ganchos de gerente - Lumberyard Guía del usuario

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

Recurso de Cloud Gem Framework Ganchos de gerente

El Cloud Canvas El administrador de recursos de garantiza que el AWS Los recursos de que utiliza el juego coinciden con el Las definiciones de esos recursos en el código fuente del juego. Sin embargo, es posible que tengas que añadir de estos procesos. Por ejemplo, para la gema Dynamic Content Cloud, debe cargar cualquier paquete predeterminado para el proyecto inmediatamente después de crear un nuevo implementación de.

El administrador de recursos de proporciona algunos módulos de enlace de Python para gemas en la nube. El código para estos se encuentra en el resource-manager-code del directorio encontrado en el gema en la nube AWS (por ejemplo, \dev\Gems\CloudGemDynamicContent\AWS\resource-manager-code).

Se admiten los siguientes módulos:

  • update.py – Contiene funciones que se llaman antes de y después de las operaciones de actualización de la pila. Para obtener más información, consulte [EMPTY] Funciones de gancho.

  • command.py – Contiene funciones que añaden nueva CLI y GUI del administrador de recursos. Para obtener más información, consulte Comando Funciones de gancho.

Gancho Parámetros de función

Todas las funciones de enlace se llaman con lo siguiente:

  • Un parámetro que representa la función de enlace

  • Algunos argumentos de palabras clave que son específicos de cada función de enlace

El parámetro que representa la función de enlace es un HookModule objeto. La propiedad más importante proporcionada por el HookModule el objeto es context, que es un Contexto Objeto. El Context El objeto proporciona a la función de enlace acceso a la Cloud Canvas Responsable de recursos para el proyecto.

Prepare sus funciones para el futuro

Cuando escriba una función de enlace, añada siempre la de Python **kwargs construir como el último argumento. De esta forma, la función puede aceptar (e ignorar) argumentos que Las versiones futuras del administrador de recursos podrían añadir después de que la función de se haya escrito.

Por ejemplo, supongamos que el administrador de recursos supera arg_a y arg_b a la función de enlace. Puede declarar la función de enlace de la siguiente manera:

def a_hook(hook, arg_a, arg_b, **kwargs)

Posteriormente, cuando el administrador de recursos añade un arg_c argumento, su función de enlace no rompe. Su función sigue aceptando arg_a y arg_b pero puede ignorar arg_c porque arg_c se pasó a través del kwargs Parámetro.

Cloud Canvas Objetos del administrador de recursos

Cloud Canvas El administrador de recursos de incluye objetos de Python que puede utilizar para obtener acceso al proyecto de configuración de datos y realizar varias operaciones de proyecto.

nota

El código fuente de estos objetos se encuentra en el Lumberyard dev\Tools\lmbr_aws\AWSResourceManager del directorio.

Contexto Objeto

El Context El objeto tiene propiedades que proporcionan acceso al proyecto y que realizan operaciones como añadir definiciones de recursos a un recurso del grupo de clientes.

Puedes obtener un Context del objeto de la instancia desde la context propiedad de la HookModule Instancia de objeto de que se pasa a las funciones de enlace.

Nombre Descripción
aws Un AWSContext Objeto.
config La ConfigContext Objeto.
gem La GemContext Objeto.
hooks La HookContext Objeto.
resource_groups La ResourceGroupContext Objeto.
stack La StackContext Objeto.
view La ViewContext Objeto.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Contexto de AWS Objeto

El AWSContext El objeto tiene funciones auxiliares y propiedades relacionadas con AWS clientes y credenciales.

Puedes obtener un AWSContext del objeto de la instancia desde la aws propiedad de un Context Objeto.

Name Descripción
assume_role(logical_role_id, deployment_name)

Asume un rol que utiliza el actual AWS las credenciales. Los nuevos clientes que creados desde el client La función de utiliza las credenciales temporales que se han creado asumiendo el rol. Estas credenciales tienen una duración de 3600 segundos (5 minutos) de vida útil.

El logical_role_id El parámetro puede ser el nombre lógico de un AWS::IAM::Role del recurso definido en la project-template.json o bien deployment-access-template.json de los archivos. En el caso de un que se define en el deployment-access-template.json , el archivo deployment_name identifica la función real que será se ha asumido.

client(service_name, region=None, use_role=True)

Crea una Python AWS Cliente de API (boto3) para el especificado AWS servicio técnico. Si use_role es True, el cliente utiliza las credenciales que se crean cuando assume_role se llamó.

El objeto devuelto es un encapsulador alrededor del objeto de cliente boto3 real. El El contenedor registra todos los intentos de llamada a la API y las respuestas cuando el --verbose opción se pasa a lmbr_aws. Esto ayuda a depurar.

El encapsulador del cliente también realiza reintentos con retardo exponencial.

get_credentials_file_path() Devuelve la ruta completa al .aws/credentials del archivo.
get_default_profile() Obtiene el AWS nombre de perfil de credenciales que se utiliza de forma predeterminada cuando los clientes se crean.
get_temporary_credentials(logical_role_id, deployment_name, duration_seconds)

Crea credenciales temporales utilizando las credenciales actuales para asumir un del rol de.

El logical_role_id El parámetro puede ser el nombre lógico de un AWS::IAM::Role del recurso definido en la project-template.json o bien deployment-access-template.json de los archivos. En el caso de un del rol definido en el deployment-access-template.json , el archivo deployment_name identifica la función real que será se ha asumido.

El valor devuelto es un valor de Python dict con lo siguiente propiedades:

AccessKeyId

SecretAccessKey

SessionToken

load_credentials() Devuelve un AWSCredentials objeto que contiene los datos leídos de el .aws/credentials del archivo.
profile_exists(profile_name) Determina si el perfil especificado existe en el .aws/credentials del archivo.
save_credentials(credentials) Guarda un objeto modificado AWSCredentials en el objeto .aws/credentials del archivo.
session El objeto de sesión de boto3 que utiliza client().
set_default_profile Establece el AWS El perfil de credenciales de que se utiliza cuando se crean los clientes de. Este restablece el session propiedad.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto AWSCredentials

El AWSCredentials el objeto contiene AWS información de credenciales que es lee de la .aws/credentials del archivo. Esto es básicamente un envoltorio alrededor de un pitón ConfigParser Objeto. El AWSCredentials El objeto gestiona el AWS del uso del archivo de credenciales de la default , que entra en conflicto con cómo ConfigParser controla los valores predeterminados.

Para obtener un AWSCredentials de objetos, utilice la opción load_credentials en una función de AWSContext Objeto.

Nombre Descripción
add_section(section_name) Añade una sección.
get(section_name, option_name) Obtiene el valor de una opción en una sección.
has_option(section_name, option_name) Determina si existe una opción en una sección.
has_section(section_name) Determina si existe una sección.
items(section_name) Devuelve una lista de pares de nombre-valor de las opciones de una sección.
options(section_name) Devuelve una lista de opciones en una sección.
read(path) Lee las credenciales de un archivo con la ruta especificada.
remove_option(section_name, option_name) Elimina una opción de una sección.
remove_section(section_name) Elimina una sección.
sections() Devuelve una lista de nombres de sección. Cada perfil está representado por un sección.
set(section_name, option_name, value) Establece un valor de opción.
write(path) Escribe las credenciales en un archivo con la ruta especificada.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto ConfigContext

El ConfigContext El objeto tiene propiedades y funciones que proporcionan acceso para proyectar e implementar datos de configuración.

Puedes obtener un ConfigContext del objeto de la instancia desde la config propiedad de un Context Objeto.

Nombre Descripción
aws_directory_path La ruta completa al proyecto de juego habilitado actualmente (según lo determinado por el bootstrap.cfg archivo u opciones pasados a lmbr_aws).
base_resource_group_directory_path El directorio en el que los grupos de recursos definidos por el proyecto (en lugar de a los definidos por las gemas) se encuentran. Normalmente, este es el resource-group subdirectorio que se encuentra en el directorio identificado por aws_directory_path.
clear_user_default_deployment() Borra la configuración de implementación predeterminada.
clear_user_default_profile() Borra el valor predeterminado AWS nombre de perfil de credenciales de. Esto no actualiza el .aws/credentials del archivo. El nombre del perfil predeterminado es guardados en el Cloud Canvas Archivo de configuración de usuario de Resource Manager.
configuration_bucket_name El nombre del proyecto Configuration Amazon S3 del bucket de.

copy_default_lambda_function_content

(destination_path)

Copia el valor predeterminado Lambda El contenido de la función de en la ubicación especificada.
copy_default_project_content(destination_path) Copia el contenido del proyecto predeterminado AWS al directorio especificado ubicación.
copy_default_resource_group_content(destination_path) Copia el contenido del grupo de recursos predeterminado en el especificado ubicación.
copy_example_resource_group_content(destination_path) Copia el contenido del grupo de recursos de ejemplo en el especificado ubicación.
default_deployment El nombre de la implementación que es el valor predeterminado para el usuario actual si un se ha especificado el nombre predeterminado. Si se ha especificado un valor predeterminado, el valor es que de user_default_deployment de lo contrario, es el de project_default_deployment.
deployment_access_template Un objeto de Python que contiene el contenido de la plantilla de acceso de implementación del archivo.
deployment_access_template_path La ruta completa hacia el proyecto deployment-access-template.json del archivo.
deployment_names Una lista que contiene los nombres de las implementaciones del proyecto.
deployment_stack_exists(deployment_name) Determina si existe una pila de implementación.
finalize_deployment_stack_ids(deployment_name) Confirma los ID de pila de acceso de implementación e implementación pendientes como el del ID de pila real de la implementación. [EMPTY] set_pending_deployment_stack_id y set_pending_deployment_access_stack_id.
game_directory_path La ruta completa al proyecto de juego habilitado actualmente (según lo determinado por el bootstrap.cfg o las opciones que se pasan a lmbr_aws).
gem_directory_path La ruta completa al directorio donde se definen las gemas. Este es el Gems subdirectorio del directorio identificado por root_directory_path.
get_default_deployment_stack_name(deployment_name) Obtiene el nombre de pila predeterminado para una implementación con el nombre especificado.
get_deployment_access_stack_id(deployment_name, optional=False) Obtiene el ARN de una pila de acceso de implementación. Si la pila de implementación especificada no existe, eleva un HandledError o devuelve None si optional es True.
get_deployment_stack_id(deployment_name, optional=False) Obtiene el ARN de una pila de implementación. Si la pila de implementación especificada no existe, eleva un HandledError o devuelve None si optional es True.
get_game_directory_name() Obtiene el nombre del directorio del juego desde la bootstrap.cfg del archivo.
get_project_stack_name() Obtiene el nombre de la pila del proyecto.
get_protected_depolyment_names() Devuelve una lista de los nombres de implementación protegidos. Para obtener más información, consulte protect_deployment y unprotected_deployment.
get_resource_group_stack_id(deployment_name, resource_group_name, optional=False) Obtiene el ARN de una pila de grupo de recursos. Si la pila de grupo de recursos especificada no existe, eleva un HandledError o devuelve None si optional es True.
local_project_settings_path Ruta completa al archivo que almacena la configuración del proyecto que se mantiene en un archivo del archivo de origen controlado (en contraposición a la configuración del proyecto almacenada en AWS). Por lo general, este es el local-project-settings.json en el directorio que se identifica mediante aws_directory_path.
no_prompt ¿Cuándo? True, especifica que el --no-prompt la opción era pasado a lmbr_aws. Esta opción se utiliza normalmente al llamar a lmbr_aws de los scripts. Cuando se establece esta opción, la función de enlace debe generar un error en lugar de preguntar al usuario.
project_code_path La ruta hacia el proyecto project-code del directorio.
project_default_deployment El nombre de la implementación que se ha designado como predeterminada para el proyecto, si lo hay. Véase también user_default_deployment y default_deployment.
project_initialized True si el proyecto se ha inicializado y project_stack_id tiene un valor; False de lo contrario.
project_resource_handler_id El ARN de la ProjectResourceHandler Función Lambda. Cloud Canvas–las plantillas de recursos definidos requieren que este valor se proporcione como el ProjectResourceHandler valor del parámetro.
project_settings La ProjectSettings objeto que contiene la configuración del proyecto que son cargado desde AWS (en contraposición al contenido de local_project_settings).
project_stack_id El ID de la pila del proyecto, si la pila del proyecto se ha creado.
project_template Un objeto de Python que contiene el contenido del archivo de plantilla del proyecto.
project_template_path La ruta completa hacia el proyecto project-template.json del archivo.
protect_deployment(deployment_name) Marca una implementación como protegida. Requiere confirmación especial antes de que puede conectar compilaciones de depuración del juego a implementaciones protegidas. Véase también unprotect_deployment y get_protected_deployment_names.
refresh_user_settings() Una función que vuelve a cargar el user_settings objeto del usuario archivo de configuración de.
release_deployment El nombre de la implementación que se ha diseñado como la implementación de lanzamiento de el proyecto.
remove_deployment(deployment_name) Elimina una implementación de la configuración del proyecto.
root_directory_path La ruta completa hacia el Lumberyard del directorio raíz (el \dev ), que contiene directorios específicos del proyecto.
save_deployment_access_template() Guarda el valor actual deployment_access_template el objeto a la del proyecto deployment-access-template.json del archivo.
save_deployment_template() Guarda el valor actual deployment_template el objeto en el proyecto deployment-template.json del archivo.
save_project_template() Una función que guarda la función actual project_template el objeto a la del proyecto project-template.json del archivo.
set_pending_deployment_access_stack_id(deployment_name, deployment_access_stack_id) Establece el ID de una pila de acceso de implementación que se está creando. Para más información información, consulte finalize_deployment_stack_ids y set_pending_deployment_stack_id.
set_pending_deployment_stack_id(deployment_name, deployment_stack_id) Establece el ID de una pila de implementación que se está creando. Para obtener más información, ver finalize_deployment_stack_ids y set_pending_deployment_access_stack_id.
set_project_default_deployment(deployment_name) Establece la implementación predeterminada para el proyecto. Anulado por el valor para el usuario implementación predeterminada si se especifica una.
set_release_deployment(deployment_name) Establece la implementación de lanzamiento para el proyecto.
set_user_default_deployment(deployment_name) Establece la implementación predeterminada para el usuario. Una vez establecido, anula el implementación predeterminada del proyecto de.
set_user_default_profile(profile_name) Establece el valor predeterminado del usuario AWS del perfil de credenciales de. Esto no actualiza el del usuario .aws/credentials archivo; el nombre del perfil predeterminado se guarda en el Cloud Canvas Archivo de configuración de usuario de Resource Manager.
unprotect_deployment(deployment_name) Invierte la acción de protect_deployment.
user_default_deployment El nombre de la implementación que ha sido designada como predeterminada por el usuario actual. Para obtener más información, consulte project_default_deployment y default_deployment.
user_default_profile El valor predeterminado del usuario AWS nombre de perfil como se lee en la configuración del usuario.
user_directory_path La ruta completa al directorio de usuario en el Lumberyard del directorio de caché de. Aquí es donde La configuración específica del usuario de se almacena en.
user_settings Un objeto de Python que contiene el contenido del archivo de configuración del usuario.
user_settings_path La ruta completa al archivo de texto en formato JSON que el administrador de recursos utiliza para almacenar Configuración específica del usuario de. Esta configuración incluye la implementación predeterminada y AWS nombres de perfil de credenciales de. Esta ruta suele ser la user-settings.json en el directorio especificado por user_directory_path.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto de gema

El Gem El objeto proporciona acceso a los datos de configuración específicos de la gema. Para obtener Gem de objetos, utilice la función enabled_gems propiedad de un GemContext Objeto.

Nombre Descripción
aws_directory La ruta completa a la de la gema AWS del directorio.
aws_directory_exists Verdadero si la gema AWS El directorio existe.
display_name El nombre de visualización de la gema.
file_object Un objeto de Python que contiene el contenido de la gem.json del archivo.
name El nombre de la gema.
project_resources Definiciones de recursos de proyecto que se insertan en la pila del proyecto la plantilla antes de que se cargue la plantilla. Estas definiciones se leen de un project-template.json en el archivo de la gema AWS del directorio.
resource_group_name El nombre del grupo de recursos de la gema, si lo hay. Una gema tiene un nombre de grupo de recursos solo si tiene un resource-template.json del archivo.
root_directory La ruta completa al directorio de la gema.
uuid El ID único de la gema.

Otras propiedades o funciones de este objeto son internas del administrador de recursos y no debe utilizarse.

Contexto de gema Objeto

Las propiedades y los métodos del GemContext El objeto de proporciona acceso a la La configuración de gema del proyecto de.

Puedes obtener un GemContext Instancia de objeto de mediante la gems propiedad de un Context Objeto.

Nombre Descripción
enabled_gems Una lista que contiene un objeto de gema para cada gema que está habilitada para el del proyecto.
get_by_resource_group_name(resource_group_name) Devuelve el objeto de gema asociado al grupo de recursos especificado, o None si el grupo de recursos no existe o no está asociado a un gema. De forma predeterminada, el nombre del grupo de recursos es el mismo que el nombre de la gema, pero un Alias de grupo de resorción se puede poner la propiedad en la gema.json para anular este predeterminado.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto HandledError

La HandledError el objeto es Python Exception Objeto. Puedes usar en una función de enlace para que se muestre un error esperado sin producir una pila de seguimiento. En general, el gestor de recursos considera que otros tipos de excepciones son inesperadas y podría mostrar información de depuración adicional que los usuarios no deberían ver para los datos Errores de.

El Error gestionado se define en el campo AWSResourceManager.errors módulo (\dev\Tools\lmbr_aws\AWSResourceManager\errors.py). Para crear un , consulte el siguiente ejemplo de.

from AWSResourceManager.errors import HandledError def my_function(): if something_is_wrong: raise HandledError('Something is wrong.')

Módulo de gancho Objeto

El primer argumento (y el único argumento posicional) que se pasa a una función de enlace es un HookModule Objeto que representa el propio módulo de enlace. El de este objeto Las propiedades de le proporcionan acceso a los datos de configuración del proyecto.

Nombre Descripción
context Proporciona acceso a un Context Objeto.
hook_name El nombre de la gema en la nube que define el módulo de enlace.
hook_path La ruta completa a la gema en la nube AWS donde el módulo de enlace es definido.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Contexto de gancho Objeto

El HookContext El objeto de proporciona funcionalidad para trabajar con Cloud Canvas El administrador de recursos enlaza.

Puedes obtener un HookContext del objeto de la instancia desde la hooks propiedad de la Context Objeto.

Nombre Descripción
call_module_handlers(module_name, handler_name, args=(), kwargs={}, deprecated=False) Llama a la función de enlace identificada por handler_name en el módulo identificado por module_name. Utiliza el botón kwargs parámetro a pasa argumentos de palabras clave a la función de controlador. El args el parámetro puede utilizar solo si deprecated es True. Si deprecated es True, una advertencia relativa a la función se muestra.
call_single_module_handler(module_name, handler_name, defining_module_name, args=(), kwargs={}, deprecated=False) Llama a una función de enlace definida por la gema o el grupo de recursos especificado por el defining_module_name Parámetro. Para ver una descripción del otro parámetros, consulte call_module_handlers.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto ProjectSettings

El ProjectSettings El objeto administra los datos de configuración del proyecto que almacenados en el project-settings.json en el archivo del proyecto Amazon S3 Configuration del bucket de.

Nombre Descripción
get_deployment(deployment_name)

Devuelve el diccionario de configuración para la implementación especificada. El El diccionario contiene las siguientes claves:

DeploymentStackId – El ARN de la pila de implementación.

DeploymentAccessStackId – El ARN del acceso de implementación Pila de.

resource-group – La configuración del grupo de recursos para la implementación. Para obtener una descripción de este valor, consulte get_resource_group_settings.

get_deployments() Devuelve todo el diccionario de configuración de las implementaciones. La implementación de name es la clave. El nombre de implementación especial *, que contiene la configuración para todas las implementaciones, puede estar presente. Para obtener una descripción del diccionario de valores, consulte get_deployment.
get_project_default_deployment() Devuelve la implementación predeterminada para el proyecto.
get_release_deployment() Devuelve la implementación de lanzamiento para el proyecto.
get_resource_group_settings(deployment_name)

Devuelve un diccionario que contiene la configuración del grupo de recursos para el de implementación especificada por. El nombre del grupo de recursos es la clave. El recurso especial nombre del grupo *, que contiene la configuración de todos los grupos de recursos, puede ser presente.

Cada valor es un diccionario con la siguiente clave:

parameter – Un diccionario que contiene valores de parámetros para la plantilla de grupo de recursos.

remove_deployment(deployment_name) Elimina la configuración del nombre de implementación especificado. Para confirmar esto cambiar, llamar save.
remove_project_default_deployment() Borra la implementación predeterminada del proyecto. Para confirmar este cambio, llame a save.
remove_release_deployment() Borra la implementación de lanzamiento del proyecto. Para confirmar este cambio, llame a save.
save() Guarda la configuración actual en el Amazon S3 del bucket de.
set_project_default_deployment(deployment_name) Establece la implementación predeterminada para el proyecto. Para confirmar este cambio, llame a save.
set_release_deployment(deployment_name) Establece la implementación de lanzamiento para el proyecto. Para confirmar este cambio, llame a save.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto ResourceGroup

El ResourceGroup El objeto encapsula la configuración de un grupo de recursos. Si existen varias pilas de grupos de recursos para un grupo de recursos determinado, cada pila de grupos de recursos está asociado a una única implementación.

Para obtener ResourceGroup instancias de objeto, usar un ResourceGroupContext Objeto.

Nombre Descripción
add_output(logical_id, description, value, force=False) Añade un valor de salida a la plantilla de recursos del grupo de recursos. Si force es False, una salida existente que tiene el mismo el nombre no se sustituye pero se sustituye si force es True. [EMPTY] guardar los cambios, llamar save_template. Devoluciones True si Las salidas de se añaden.
add_parameters(parameter_definitions, force=False) Añade definiciones de parámetros a la plantilla de recursos del grupo de recursos. El parameter_definitions El parámetro es un diccionario que se combina en las definiciones de parámetros en la plantilla. Si force es False, las definiciones existentes no se sustituyen, sino que se sustituyen si fuerza es verdadero. Para guardar los cambios, llame a save_template. Devoluciones True si las definiciones de parámetros son ha añadido.
add_resources(resource_definitions, force=False, dependencies=None)

Añade definiciones de recursos a la plantilla de recursos del grupo de recursos. El resource_definitions El parámetro es un diccionario que se combina en la plantilla actual Resources valor de objeto. Si force es False, las definiciones existentes no se sustituyen pero sí se sustituyen si force es True.

El dependencies El parámetro puede ser un diccionario que especifica un lista de valores que se añaden a los recursos existentes DependsOn lista. Los nuevos recursos siempre se añaden a la AccessControl del recurso DependsOn incluso si el dependencies el parámetro es no se especificó. Para guardar los cambios, llame a save_template. Devoluciones True si se añaden definiciones de recursos.

copy_directory(source_path, relative_destination_path='.', force=False) Copia el contenido de un directorio especificado en el directorio del grupo de recursos del directorio. Si un valor para relative_destination_path se especifica, el El contenido de se escribe en el subdirectorio especificado en el directorio del grupo de recursos. Si force es False, los archivos existentes no se sustituyen, pero se sustituyen si force es True. Devoluciones True si se copia algún archivo.
copy_file(source_path, relative_destination_path, force=False) Copia un archivo en el directorio del grupo de recursos. El relative_destination_path el parámetro puede contener el archivo de destino o una ruta de destino y el nombre de archivo. Si force es False, los archivos existentes no se sustituyen, sino que se sustituyen si force es True. Devoluciones True si el archivo es copiado.
create_file(relative_destination_path, initial_content, force=False) Crea un archivo en el directorio del grupo de recursos. El relative_destination_path el parámetro puede contener el archivo de destino o una ruta de destino y el nombre de archivo. El initial_content parámetro debe contener el contenido de texto inicial del archivo. Si force es Falso, los archivos existentes no se sustituyen, sino que se sustituyen si force es True. Devoluciones True si se crea el archivo.
directory_path La ruta completa al directorio del grupo de recursos.
game_cpp_code_path La ruta completa al directorio donde el código C++ asociado al recurso debe escribirse el grupo. Este parámetro se utiliza cuando el código de cliente de la API de servicio es generado.
get_pending_resource_status(deployment_name) Obtiene un diccionario que describe el estado de recurso pendiente del grupo de recursos. El estado se determina comparando las definiciones de recursos configurados, Lambda y los valores de los parámetros a las definiciones, el código y los valores actuales.
get_stack_id(deployment_name, optional=False) Obtiene el ID de pila del grupo de recursos para la implementación especificada. Si no hay pila para el grupo de recursos, genera un HandledError o devuelve None si es opcional es True.
get_stack_parameters(deployment_name, uploader) Obtenga el parámetro de pila para la implementación especificada. El uploader el parámetro debe ser un Uploader objeto, que se utiliza para determinar el para el ConfigurationBucket y ConfigurationKey Los parámetros de.
get_template_with_parameters(deployment) Devuelve un objeto de Python que contiene el contenido del objeto del grupo de recursos resource-template.json del archivo. El parámetro predeterminado de la plantilla Los valores se establecen de acuerdo con la configuración de parámetros para el especificado implementación de.
is_gem True si el grupo de recursos está definido por una gema; False si el grupo de recursos está definido en el resource-group del directorio.
name El nombre del grupo de recursos.
remove_output(logical_id) Elimina un valor de salida de la plantilla de recursos del grupo de recursos. Devoluciones True si el valor de salida existía y se eliminó. Para guardar la cambios, llamar save_template.
remove_parameters(parameter_names) Elimina las definiciones de parámetros de la plantilla de recursos del grupo de recursos. El parameter_names El parámetro debe ser una lista de los nombres del para eliminar. Devoluciones True si las definiciones de parámetros son eliminado.
remove_resources(resource_names) Elimina las definiciones de recursos de la plantilla de recursos del grupo de recursos. El resource_names El parámetro debe ser una lista de los nombres lógicos del para eliminar. Devoluciones True si las definiciones de recursos son eliminado. Para guardar los cambios, llame a save_template.
save_template() Guarda el valor actual de la propiedad de la plantilla en el valor de del grupo de recursos resource-template.json del archivo.
template Un objeto de Python que contiene el contenido del objeto del grupo de recursos resource-template.json del archivo.
template_path La ruta completa al grupo de recursos resource-template.json del archivo.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto ResourceGroupContext

El ResourceGroupContext El objeto proporciona acceso al grupo de recursos datos de configuración de. Para obtener un ResourceGroupContext el objeto , utiliza la resource_groups propiedad de la Context Objeto.

Nombre Descripción
get(name, optional=False) Devuelve un ResourceGroup Objeto para el grupo de recursos especificado. Si el grupo de recursos no existe, genera un HandledError o ninguno si optional es True.
keys() Devuelve los nombres de los grupos de recursos en una lista.
values() Devuelve una lista de ResourceGroup Objetos.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Objeto StackContext

El StackContext El objeto proporciona una serie de funciones auxiliares que son útil cuando se trabaja con AWS CloudFormation de pilas de. Para obtener un StackContext objeto , utilice la instancia de stack propiedad de la Context Objeto.

Nombre Descripción
confirm_stack_operation(stack_id, stack_description, args, pending_resource_status, ignore_resource_types = [])

Muestra los cambios pendientes y un mensaje de confirmación para la pila pendiente operación.

El args El parámetro debe ser los argumentos de línea de comandos analizados para el comando. Se utiliza para evitar mostrar selecciones dinámicas si es necesario --confirm-... se proporcionan opciones de.

El ignore_resource_types El parámetro es una lista de tipos de recursos que no se incluyen en la lista de cambios que se muestra al usuario. Este parámetro filtra los cambios en el Custom::EmptyDeployment del recurso de.

create_using_template(stack_name, template_body, region, created_callback=None, capabilities=[]) Utiliza la plantilla proporcionada para iniciar una operación de creación de pila. Muestra la pila eventos hasta que se complete la operación de creación. Si el valor de created_callback no es None, el valor debe ser una llamada función que tiene el ID de pila creado como único parámetro.
create_using_url(stack_name, template_url, region, parameters=None, created_callback=None, capabilities=[]) Utiliza una plantilla identificada por una URL para iniciar una operación de creación de pila. Muestra los eventos de la pila hasta que se completa la operación de creación. Si el valor de created_callback no es None, el valor debe ser una llamada función que tiene el ID de pila creado como único parámetro.
delete(stack_id, pending_resource_status=None)

Inicia una operación de eliminación de la pila y muestra los eventos de la pila hasta la eliminación La operación se ha completado.

Si se proporciona, el pending_resource_status El parámetro especifica el parámetro Los recursos de que se eliminarán de un Amazon S3 en preparación para la eliminación del del propio bucket de. Para recuperar un valor para este parámetro, utilice la get_pending_resource_status función en un ResourceGroup o utiliza la función get_pending_resource_status en la función StackContext Objeto. Preparación de un bucket de S3 para eliminación eliminaciones todos los objetos del bucket a menos que el bucket especifique un valor de DeletionPolicy valor de propiedad de Retain.

describe_resources(stack_id, recursive=True, optional=False)

Utiliza la función AWS CloudFormation describe_stack_resources La API para devolver un Descripción de los recursos de una pila. El contenido del StackResources La estructura de se convierte en un diccionario con clave en el ID lógico del recurso.

Si recursive es True, las descripciones de la Los recursos de en las pilas anidadas también se devuelven. En este caso, el recurso el ID lógico tiene el formulario <nested-stack-logical-id>.<nested-resource-logical-id>.

Si la pila no existe, una HandledError se genera si optional es False. De lo contrario, un diccionario vacío es ha devuelto.

describe_stack(stack_id, optional=False) Devuelve un diccionario que contiene los datos devueltos por una llamada al AWS CloudFormation describe_stacks de la API de. Si la pila no existe, eleva un HandledError o devuelve None si es opcional es True.
get_current_parameters(stack_id) Obtiene el valor actual de una pila AWS CloudFormation valores de parámetros de plantilla.
get_current_template(stack_id) Obtiene un objeto de Python que contiene el objeto actual de la pila AWS CloudFormation Plantilla de.
get_pending_resource_status(stack_id, new_template={}, new_parameter_values={}, new_content_paths={})

Obtiene un diccionario que describe el estado de recurso pendiente de una pila. El estado se determina comparando las definiciones de recursos configurados, Lambda el código, y los valores de los parámetros a las definiciones, el código y los valores actuales.

El new_template parámetro es la plantilla de definición de recursos para que se comparará la plantilla actual de la pila.

El new_parameter_values el parámetro es un diccionario de parámetros que se compararán con los valores de parámetros actuales de la pila.

El new_content_paths es un diccionario que asigna Los nombres de recursos de a una lista de directorio completo o rutas de archivo. Las rutas especifican dónde El contenido relacionado con cada recurso se almacena en. Un recurso tiene un estado de actualización pendiente si alguno de estos archivos ha cambiado desde la última actualización del estado del recurso.

get_physical_resource_id(stack_id, logical_resource_id, expected_type=None, optional=False) Obtiene el ID físico de un recurso en la pila especificada. Si expected_type se especifica, el tipo de recurso se verifica para ser que escriba. Si el tipo devuelto no es el tipo especificado, genera un HandledError. Si el recurso especificado no existe, genera un HandledError o devuelve None si optional es True.
get_resource_arn(stack_id, logical_resource_id) Obtiene el ARN de un recurso en la pila especificada.
get_stack_status(stack_id) Obtiene información de estado para la pila. Esta función llama a la AWS CloudFormation describe_stacks y devuelve la API StackStatus propiedad de la primera entrada en el Stacks de la respuesta.
id_exists(stack_id) Determina si existe una pila con el ID especificado (ARN).
name_exists(stack_name, region) Determina si existe una pila con el nombre especificado en el especificado región.
update(stack_id, template_url, parameters={}, pending_resource_status={}, capabilities={})

Inicia una operación de actualización de la pila y muestra los eventos de la pila hasta la actualización La operación se ha completado.

Si se proporciona, el pending_resource_status El parámetro especifica el parámetro Los recursos de que se van a eliminar de un bucket de S3 en preparación para la eliminación del del propio bucket de. Para recuperar un valor para este parámetro, utilice la get_pending_resource_status función en un ResourceGroup Objeto. O utiliza la opción get_pending_resource_status en la función StackContext Objeto. Preparación de un bucket de S3 para eliminación eliminaciones todos los objetos del bucket a menos que el bucket especifique un valor de DeletionPolicy valor de propiedad de Retain.

Otras propiedades o funciones de este objeto son internas del gestor de recursos y deben no debe utilizarse.

Contexto de visualización Objeto

El ViewContext El objeto contiene métodos que producen Cloud Canvas Recurso Los mensajes de salida del administrador. Las funciones de enlace normalmente no requieren estas funciones. Para más información , consulte el código fuente de este objeto.

Cargador Objeto

Puedes utilizar un Uploader función de objeto para cargar contenido en el proyecto del área global del proyecto Configuration del bucket de. Usted aprueba Uploader del objeto de las instancias a las funciones de enlace before_project_updatede after_project_update, before_resource_group_update, y after_resoruce_group_update.

Nombre Descripción
context La corriente Context Objeto.
bucket El nombre del proyecto Configuration del bucket de.
key El prefijo de nombre de objeto que se utiliza al asignar un nombre a los objetos cargados.
upload_content(name, content, description) Carga el contenido especificado mediante key + '/' + name como el nombre del objeto. Una descripción de la carga es que se muestra al usuario.
upload_file(name,path) Carga un archivo mediante key + '/' + name como el nombre del objeto.
upload_dir(name, path, alternate_root = None) Usos key + '/' + name como el nombre del objeto base para cargar recursivamente el contenido de un directorio. Si alternate_root no es None, se utiliza el valor especificado como el prefijo del nombre del objeto en lugar de key.
zip_and_upload_directory(directory_path, file_name=None, aggregated_directories=None, aggregated_content=None)

Comprime recursivamente el contenido de un directorio en un .zip del archivo. Utiliza key + '/' + directory-name.zip como el nombre del objeto para cargar el del archivo. El directory-name es el nombre del directorio al final de directory_path.

Puedes utilizar la función file_name para anular el directory-name.zip parte del nombre del objeto.

El aggregated_directories el argumento puede ser un diccionario opcional que especifica las rutas de los directorios adicionales cuyo contenido se incluye en el .zip del archivo. Las claves son la ubicación de la ruta en el .zip donde se coloca el contenido.

El aggregated_content el argumento puede ser un diccionario que contenga contenido adicional que incluir en el .zip del archivo. Las teclas son la ubicación de la ruta en el .zip donde el contenido es ponga.

[EMPTY] Funciones de gancho

Los enlaces de actualización se implementan en una gema en la nube Gem\<gem-name>\AWS\resource-manager-code\update.py del archivo. Si los enlaces de actualización se definen en el módulo, el administrador de recursos utiliza los parámetros que se describen en el Gancho Parámetros de función sección a llame a las siguientes funciones.

después_del_proyecto_actualizado

El after_project_updated La función de enlace se llama después de una pila de proyecto La operación de actualización de finaliza correctamente.

Parámetro Descripción
project_uploader Un Uploader que puede utilizar para cargar objetos de los datos.

Después de actualizar el grupo de recursos

El after_resource_group_updated La función de enlace se llama después de un recurso La operación de actualización de pila de grupo de termina correctamente.

Parámetro Descripción
deployment_name El nombre de la implementación que se actualizó.
resource_group_name El nombre del grupo de recursos que se actualizó.
resource_group_uploader Un Uploader que puede utilizar para cargar objetos de los datos.

antes_del_proyecto_actualizado

El before_project_updated La función de enlace se llama antes de una pila de proyecto la operación de actualización comienza.

Parámetro Descripción
project_uploader Un Uploader que puede utilizar para cargar datos para el operación.

antes_del_grupo_de_recursos_actualizado

El before_resource_group_updated La función de enlace se llama antes de un recurso La operación de actualización de pila de grupo de comienza.

Parámetro Descripción
deployment_name El nombre de la implementación que se está actualizando.
resource_group_name El nombre del grupo de recursos que se está actualizando.
resource_group_uploader Un Uploader que se puede utilizar para cargar de los datos.

recopilar_lista_comprobación_escribible

El gather_writable_check_list La función de enlace se llama antes de una actualización para recopilar una lista de archivos grabables. Si alguno de los archivos locales que se van a actualizar es de sólo lectura, el gestor de recursos da al usuario la oportunidad de hacer que los archivos sean grabables (por ejemplo, con un sistema de control de origen).

Parámetro Descripción
check_list Una lista de las rutas completas de los archivos que se pueden escribir.

Comando Funciones de gancho

Si las siguientes funciones de enlace de línea de comandos existen en un módulo, se definen en un gema en la nube Gem\<gem-name>\AWS\resource-manager-code\command.py del archivo. El administrador de recursos utiliza los parámetros de la Gancho Parámetros de función sección a llame a las siguientes funciones.

añadir_comandos_cli

Añade comandos adicionales al analizador de línea de comandos. Se llama antes del argumento de línea de comandos que analiza. Cloud Canvas El administrador de recursos de utiliza la aplicación Python argparse módulo para el análisis de la línea de comandos. Todos los comandos se agrupan en una serie de diferentes analizadores secundarios. Por ejemplo, los comandos lmbr_aws project list-resources y lmbr_aws deployment list contener los analizadores secundarios project y deployment, que definen un list-resources y list comando, respectivamente.

Parámetro Descripción
subparsers El subparser objeto de colección devuelto por el argparse add_subparsers función. Utilice la función de enlace para añadir un analizador secundario a la colección. A continuación, añada los comandos al analizador secundario.
add_common_args

Añade un conjunto de argumentos comunes a un comando. Esta función añade lo siguiente los argumentos. Para obtener una descripción de estos argumentos, consulte Uso de la Cloud Canvas Línea de comandos.

--aws-access-key

--aws-secret-key

--profile

--assume-role

--root-directory

--game-directory

--aws-directory

--user-directory

--verbose

--no-prompt

Los argumentos comunes son procesados por lmbr_aws. El gancho no suelen procesar estas opciones.

Esta función puede tomar los siguientes parámetros:

parser – El argparse objeto de analizador definido a que se añaden los argumentos.

no_assume_roleTrue especifica que el --assume-role no se añade el argumento común; False especifica que es.

añadir_comandos_de_vista_cli

Añade métodos adicionales a la ViewContext Objeto. Llamado antes que otro de la línea de comandos.

Parámetro Descripción
view_context La ViewContext Objeto.

añadir_comandos_gui

Agrega comandos a la Cloud Canvas Administrador de recursos en Lumberyard Editor. Cuando el administrador de recursos la ventana se abre por primera vez, Lumberyard Editor inicializa el subsistema de Python del administrador de recursos, que llamadas add_gui_commands.

Parámetro Descripción
handlers Un diccionario que asigna nombres de comandos de interfaz de usuario a las funciones de controlador que los procesan. Los nombres de los comandos se pasan a Python desde el usuario de la interfaz de.

añadir_comandos_de_vista_gui

Añade métodos adicionales a la ViewContext Objeto. Se llama antes de una GUI El comando se ejecuta.

Parámetro Descripción
view_context La ViewContext Objeto.