Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWS CloudFormation ejemplos de uso de herramientas para PowerShell
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Tools for PowerShell with AWS CloudFormation.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usar Get-CFNStack
.
- Herramientas para PowerShell
-
Ejemplo 1: Devolución de una colección de instancias de pila que describen todas las pilas del usuario.
Get-CFNStack
Ejemplo 2: Devolución de una instancia de pila que describe la pila especificada.
Get-CFNStack -StackName "myStack"
-
Para API obtener más información, consulte DescribeStacksla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Get-CFNStackEvent
.
- Herramientas para PowerShell
-
Ejemplo 1: Devolución de todos los eventos relacionados con la pila especificada.
Get-CFNStackEvent -StackName "myStack"
-
Para API obtener más información, consulte DescribeStackEventsla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Get-CFNStackResource
.
- Herramientas para PowerShell
-
Ejemplo 1: devuelve la descripción de un recurso identificado en la plantilla asociada a la pila especificada con el identificador lógico yDBInstance «M».
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
-
Para API obtener más información, consulte DescribeStackResourcela referencia del AWS Tools for PowerShell cmdlet.
-
En el siguiente ejemplo de código se muestra cómo usar Get-CFNStackResourceList
.
- Herramientas para PowerShell
-
Ejemplo 1: devuelve las descripciones AWS de los recursos de un máximo de 100 recursos asociados a la pila especificada. Para obtener detalles de todos los recursos asociados a una pila, utilice el comando Get-CFNStackResourceSummary, que también permite la paginación manual de los resultados.
Get-CFNStackResourceList -StackName "myStack"
Ejemplo 2: devuelve la descripción de la EC2 instancia de Amazon identificada en la plantilla asociada a la pila especificada mediante el ID lógico «Ec2Instance».
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
Ejemplo 3: devuelve la descripción de hasta 100 recursos asociados a la pila que contiene una instancia de Amazon identificada con el ID de EC2 instancia «i-123456". Para obtener detalles de todos los recursos asociados a una pila, usa el comando Get-CFNStackResourceSummary, que también permite la paginación manual de los resultados.
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
Ejemplo 4: Devuelve la descripción de la EC2 instancia de Amazon identificada por el ID lógico «Ec2Instance» en la plantilla de una pila. La pila se identifica mediante el ID de recurso físico de un recurso que contiene, en este caso también una instancia de Amazon con el ID de EC2 instancia «i-123456". También se puede utilizar un recurso físico distinto para identificar la pila según el contenido de la plantilla; por ejemplo, un bucket de Amazon S3.
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
-
Para obtener API más información, consulte DescribeStackResourcesla referencia de cmdlets.AWS Tools for PowerShell
-
En el siguiente ejemplo de código se muestra cómo usar Get-CFNStackResourceSummary
.
- Herramientas para PowerShell
-
Ejemplo 1: Devolución de las descripciones de todos los recursos asociados a la pila especificada.
Get-CFNStackResourceSummary -StackName "myStack"
-
Para API obtener más información, consulte ListStackResourcesla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Get-CFNStackSummary
.
- Herramientas para PowerShell
-
Ejemplo 1: Devolución de información de resumen de todas las pilas.
Get-CFNStackSummary
Ejemplo 2: Devolución de información de resumen de todas las pilas que se crean actualmente.
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
Ejemplo 3: Devolución de información de resumen de todas las pilas que se crean o se actualizan actualmente.
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
-
Para API obtener más información, consulte ListStacksla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Get-CFNTemplate
.
- Herramientas para PowerShell
-
Ejemplo 1: Devolución de la plantilla asociada a la pila especificada.
Get-CFNTemplate -StackName "myStack"
-
Para API obtener más información, consulte GetTemplatela referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Measure-CFNTemplateCost
.
- Herramientas para PowerShell
-
Ejemplo 1: devuelve una calculadora mensual AWS simple URL con una cadena de consulta que describe los recursos necesarios para ejecutar la plantilla. La plantilla se obtiene del Amazon S3 especificado URL y se aplica el parámetro de personalización único. El parámetro también se puede especificar mediante «clave» y «valor» en lugar de «ParameterKey» y «ParameterValue».
Measure-CFNTemplateCost -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Region us-west-1 ` -Parameter @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" }
Ejemplo 2: devuelve una calculadora mensual AWS sencilla URL con una cadena de consulta que describe los recursos necesarios para ejecutar la plantilla. La plantilla se analiza a partir del contenido suministrado y de los parámetros de personalización aplicados (en este ejemplo se supone que el contenido de la plantilla habría declarado dos parámetros, 'KeyName' y 'InstanceType'). Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de «ParameterKey» y «ParameterValue».
Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" },` @{ ParameterKey="InstanceType"; ParameterValue="m1.large" })
Ejemplo 3: usa New-Object para crear el conjunto de parámetros de la plantilla y devuelve una calculadora mensual AWS simple URL con una cadena de consulta que describe los recursos necesarios para ejecutar la plantilla. La plantilla se analiza a partir del contenido suministrado, con parámetros de personalización (en este ejemplo se supone que el contenido de la plantilla habría declarado dos parámetros, '' y KeyName ''). InstanceType
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "KeyName" $p1.ParameterValue = "myKeyPairName" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "InstanceType" $p2.ParameterValue = "m1.large" Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" -Parameter @( $p1, $p2 )
-
Para API obtener más información, consulte EstimateTemplateCost AWS Tools for PowerShellCmdlet Reference.
-
En el siguiente ejemplo de código se muestra cómo usar New-CFNStack
.
- Herramientas para PowerShell
-
Ejemplo 1: Creación de una pila nueva con el nombre especificado. La plantilla se analiza a partir del contenido suministrado con parámetros de personalización ('' y PK1 'PK2' representan los nombres de los parámetros declarados en el contenido de la plantilla, 'PV1' y PV2 'representan los valores de esos parámetros). Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de «ParameterKey» y «ParameterValue». Si la creación de la pila falla, no se revertirá.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true
Ejemplo 2: Creación de una pila nueva con el nombre especificado. La plantilla se analiza a partir del contenido suministrado con los parámetros de personalización ('PK1' y 'PK2' representan los nombres de los parámetros declarados en el contenido de la plantilla, PV1 '' y PV2 'representan los valores de esos parámetros). Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de «ParameterKey» y «ParameterValue». Si la creación de la pila falla, se revertirá.
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"
Ejemplo 3: Creación de una pila nueva con el nombre especificado. La plantilla se obtiene de Amazon S3 URL con parámetros de personalización ('PK1' representa el nombre de un parámetro declarado en el contenido de la plantilla, 'PV1' representa el valor del parámetro). Los parámetros de personalización también se pueden especificar mediante «clave» y «valor» en lugar de «ParameterKey» y «ParameterValue». Si la creación de la pila falla, se revertirá (igual que si se especificara: DisableRollback $false).
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Ejemplo 4: Creación de una pila nueva con el nombre especificado. La plantilla se obtiene de Amazon S3 URL con parámetros de personalización ('PK1' representa el nombre de un parámetro declarado en el contenido de la plantilla, 'PV1' representa el valor del parámetro). Los parámetros de personalización también se pueden especificar mediante «clave» y «valor» en lugar de «ParameterKey» y «ParameterValue». Si la creación de la pila falla, se revertirá (igual que si se especificara: DisableRollback $false). La notificación especificada AENs recibirá los eventos publicados relacionados con la pila.
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
-
Para API obtener más información, consulte la referencia del CreateStack AWS Tools for PowerShellcmdlet.
-
En el siguiente ejemplo de código se muestra cómo usar Remove-CFNStack
.
- Herramientas para PowerShell
-
Ejemplo 1: Eliminación de la pila especificada.
Remove-CFNStack -StackName "myStack"
-
Para API obtener más información, consulte DeleteStackla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Resume-CFNUpdateRollback
.
- Herramientas para PowerShell
-
Ejemplo 1: Continúa la reversión de la pila nombrada, que debería estar en el estado 'UPDATE_ ROLLBACK _FAILED'. Si la reversión continua se realiza correctamente, la pila entrará en el estado 'UPDATE_ ROLLBACK _COMPLETE'.
Resume-CFNUpdateRollback -StackName "myStack"
-
Para API obtener más información, consulte la Referencia ContinueUpdateRollbackde AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Stop-CFNUpdateStack
.
- Herramientas para PowerShell
-
Ejemplo 1: Cancelación de una actualización en la pila especificada.
Stop-CFNUpdateStack -StackName "myStack"
-
Para API obtener más información, consulte CancelUpdateStackla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Test-CFNStack
.
- Herramientas para PowerShell
-
Ejemplo 1: Comprueba si la pila ha alcanzado uno de los estados UPDATE _ ROLLBACK _COMPLETE, CREATE _COMPLETE, ROLLBACK _ COMPLETE o UPDATE _COMPLETE.
Test-CFNStack -StackName MyStack
Salida:
False
Ejemplo 2: Comprueba si la pila ha alcanzado un estado de UPDATE _ COMPLETE o UPDATE _ ROLLBACK _COMPLETE.
Test-CFNStack -StackName MyStack -Status UPDATE_COMPLETE,UPDATE_ROLLBACK_COMPLETE
Salida:
True
-
Para API obtener más información, consulte Test- CFNStack in AWS Tools for PowerShell Cmdlet Reference.
-
En el siguiente ejemplo de código se muestra cómo usar Test-CFNTemplate
.
- Herramientas para PowerShell
-
Ejemplo 1: Validación del contenido de la plantilla especificada. El resultado detalla las capacidades, la descripción y los parámetros de la plantilla.
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
Ejemplo 2: valida la plantilla especificada a la que se ha accedido a través de Amazon S3URL. El resultado detalla las capacidades, la descripción y los parámetros de la plantilla.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
-
Para API obtener más información, consulte la referencia ValidateTemplatede AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Update-CFNStack
.
- Herramientas para PowerShell
-
Ejemplo 1: actualiza la pila 'myStack' con la plantilla y los parámetros de personalización especificados. 'PK1' representa el nombre de un parámetro declarado en la plantilla y 'PV1' representa su valor. Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de ParameterKey «» y «ParameterValue».
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Ejemplo 2: actualiza la pila 'myStack' con la plantilla y los parámetros de personalización especificados. 'PK1' y 'PK2' representan los nombres de los parámetros declarados en la plantilla, PV1 '' y 'PV2' representan los valores solicitados. Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de ParameterKey «» y «ParameterValue».
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
Ejemplo 3: actualiza la pila 'myStack' con la plantilla y los parámetros de personalización especificados. 'PK1' representa el nombre de un parámetro declarado en la plantilla y 'PV2' representa su valor. Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de ParameterKey «» y «ParameterValue».
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
Ejemplo 4: actualiza la pila 'myStack' con la plantilla especificada, obtenida de Amazon S3, y los parámetros de personalización. 'PK1' y 'PK2' representan los nombres de los parámetros declarados en la plantilla, PV1 '' y 'PV2' representan los valores solicitados. Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de ParameterKey «» y «ParameterValue».
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
Ejemplo 5: actualiza la pila 'myStack', que en este ejemplo se supone que contiene IAM recursos, con la plantilla especificada, obtenida de Amazon S3, y los parámetros de personalización. 'PK1' y 'PK2' representan los nombres de los parámetros declarados en la plantilla, PV1 '' y 'PV2' representan los valores solicitados. Los parámetros de personalización también se pueden especificar mediante «Clave» y «Valor» en lugar de ParameterKey «» y «ParameterValue». Las pilas que contienen IAM recursos requieren que especifiques el parámetro -Capabilities "CAPABILITY_IAM"; de lo contrario, la actualización fallará y aparecerá un error de «InsufficientCapabilities».
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
-
Para API obtener más información, consulte la referencia de UpdateStack AWS Tools for PowerShellcmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Wait-CFNStack
.
- Herramientas para PowerShell
-
Ejemplo 1: Comprueba si la pila ha alcanzado uno de los estados UPDATE _ ROLLBACK _COMPLETE, CREATE _COMPLETE, ROLLBACK _ COMPLETE o UPDATE _COMPLETE. Si la pila no está en uno de los estados, el comando permanece inactivo durante dos segundos antes de volver a probar el estado. Esto se repite hasta que la pila alcance uno de los estados solicitados o hasta que transcurra el tiempo de espera predeterminado de 60 segundos. Si se supera el tiempo de espera, se produce una excepción. Si la pila alcanza uno de los estados solicitados dentro del período de tiempo de espera, se devuelve a la canalización.
$stack = Wait-CFNStack -StackName MyStack
Ejemplo 2: En este ejemplo, se espera un total de 5 minutos (300 segundos) para que la pila alcance cualquiera de los estados especificados. En este ejemplo, el estado se alcanza antes del tiempo de espera y, por lo tanto, el objeto de pila se devuelve a la canalización.
Wait-CFNStack -StackName MyStack -Timeout 300 -Status CREATE_COMPLETE,ROLLBACK_COMPLETE
Salida:
Capabilities : {CAPABILITY_IAM} ChangeSetId : CreationTime : 6/1/2017 9:29:33 AM Description : AWS CloudFormation Sample Template ec2_instance_with_instance_profile: Create an EC2 instance with an associated instance profile. **WARNING** This template creates one or more Amazon EC2 instances and an Amazon SQS queue. You will be billed for the AWS resources used if you create a stack from this template. DisableRollback : False LastUpdatedTime : 1/1/0001 12:00:00 AM NotificationARNs : {} Outputs : {} Parameters : {} RoleARN : StackId : arn:aws:cloudformation:us-west-2:123456789012:stack/MyStack/7ea87b50-46e7-11e7-9c9b-503a90a9c4d1 StackName : MyStack StackStatus : CREATE_COMPLETE StackStatusReason : Tags : {} TimeoutInMinutes : 0
Ejemplo 3: Este ejemplo muestra el error generado cuando una pila no alcanza uno de los estados solicitados dentro del período de tiempo de espera (en este caso, el período predeterminado de 60 segundos).
Wait-CFNStack -StackName MyStack -Status CREATE_COMPLETE,ROLLBACK_COMPLETE
Salida:
Wait-CFNStack : Timed out after 60 seconds waiting for CloudFormation stack MyStack in region us-west-2 to reach one of state(s): UPDATE_ROLLBACK_COMPLETE,CREATE_COMPLETE,ROLLBACK_COMPLETE,UPDATE_COMPLETE At line:1 char:1 + Wait-CFNStack -StackName MyStack -State CREATE_COMPLETE,ROLLBACK_COMPLETE + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Amazon.PowerShe...tCFNStackCmdlet:WaitCFNStackCmdlet) [Wait-CFNStack], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.CFN.WaitCFNStackCmdlet
-
Para API obtener más información, consulte la referencia del AWS Tools for PowerShell cmdlet Wait- CFNStack in.
-