Spec-Zone.ru › Ansible 2.10

community.aws.aws_codepipeline – Создание или удаление AWS CodePipelines

Примечание

Этот плагин входит в коллекцию community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Для использования в плейбуке укажите: community.aws.aws_codepipeline.

В версии 1.0.0: из community.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Создание или удаление CodePipeline в AWS.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • boto
  • boto3
  • botocore
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
artifact_store
словарь / обязательно
Информация о местоположении, где хранятся артефакты (в S3). Словарь с полями type и location.
location
строка
Имя ведра для артефактов.
type
строка
Тип хранилища артефактов (в настоящее время поддерживается только 'S3').
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если установлен параметр profile, этот параметр игнорируется.
Одновременное указание параметров aws_access_key и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01.

псевдонимы: ec2_access_key, access_key
aws_ca_bundle
путь
Местоположение файла сертификатов CA для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: Файл сертификатов CA читается со стороны модуля и может потребоваться его явное копирование с контроллера, если выполнение не локальное.
aws_config
словарь
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации boto.
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если установлен параметр profile, этот параметр игнорируется.
Одновременное указание параметров aws_secret_key и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01.

псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
логический
    Варианты:
  • нет ←
  • да
Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, вывода набора в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она существует.

псевдонимы: aws_endpoint_url, endpoint_url
name
строка / обязательно
Имя конвейера
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределяет aws_access_key, aws_secret_key и security_token. Поддержка одновременного указания profile с этими параметрами устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01.

псевдонимы: aws_profile
region
строка
Регион AWS для использования. Если не задан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она существует. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
role_arn
строка / обязательно
ARN роли IAM для использования при выполнении конвейера
security_token
строка
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если установлен параметр profile, этот параметр игнорируется.
Одновременное указание параметров security_token и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01.

псевдонимы: aws_security_token, access_token
stages
список / элементы=словарь / обязательно
Список этапов для выполнения в CodePipeline. Список словарей, содержащих имя и действия для каждого этапа.
actions
список / элементы=словарь
Список конфигураций действий для этого этапа.
См. документацию boto3 для полной документации по подпараметрам:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline.html#CodePipeline.Client.create_pipeline
name
строка
Имя этапа (шага) в коде конвейера
state
строка
    Варианты:
  • present ←
  • absent
Создание или удаление кода конвейера
validate_certs
логический
    Варианты:
  • нет
  • да ←
При значении «нет» SSL-сертификаты для boto-версий >= 2.6.0 не будут проверяться.
version
целое число
Номер версии конвейера. Этот номер автоматически увеличивается при обновлении конвейера.

Примечания

Примечание

  • Подробную информацию о параметрах и возвращаемых значениях см. в http://boto3.readthedocs.io/en/latest/reference/services/codepipeline.html
  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION, AWS_CA_BUNDLE
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, если это необходимо, но это также можно настроить в файле конфигурации boto

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

# Example for creating a pipeline for continuous deploy of Github code to an ECS cluster (container)
- community.aws.aws_codepipeline:
    name: my_deploy_pipeline
    role_arn: arn:aws:iam::123456:role/AWS-CodePipeline-Service
    artifact_store:
      type: S3
      location: my_s3_codepipline_bucket
    stages:
      - name: Get_source
        actions:
          -
            name: Git_pull
            actionTypeId:
              category: Source
              owner: ThirdParty
              provider: GitHub
              version: '1'
            outputArtifacts:
              - { name: my-app-source }
            configuration:
              Owner: mediapeers
              Repo: my_gh_repo
              PollForSourceChanges: 'true'
              Branch: master
              # Generate token like this:
              # https://docs.aws.amazon.com/codepipeline/latest/userguide/GitHub-rotate-personal-token-CLI.html
              # GH Link: https://github.com/settings/tokens
              OAuthToken: 'abc123def456'
            runOrder: 1
      - name: Build
        actions:
          -
            name: CodeBuild
            actionTypeId:
              category: Build
              owner: AWS
              provider: CodeBuild
              version: '1'
            inputArtifacts:
              - { name: my-app-source }
            outputArtifacts:
              - { name: my-app-build }
            configuration:
              # A project with that name needs to be setup on AWS CodeBuild already (use code_build module).
              ProjectName: codebuild-project-name
            runOrder: 1
      - name: ECS_deploy
        actions:
          -
            name: ECS_deploy
            actionTypeId:
              category: Deploy
              owner: AWS
              provider: ECS
              version: '1'
            inputArtifacts:
              - { name: vod-api-app-build }
            configuration:
              # an ECS cluster with that name needs to be setup on AWS ECS already (use ecs_cluster and ecs_service module)
              ClusterName: ecs-cluster-name
              ServiceName: ecs-cluster-service-name
              FileName: imagedefinitions.json
    region: us-east-1
    state: present

Возвращаемые значения

Общие возвращаемые значения документированы в здесь, следующие — поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
pipeline
complex
success
Возвращает словарь, описывающий конфигурацию конвейера кода.

artifact_store
complex
always
Информация о том, где хранятся артефакты сборки.

encryption_key
string
при конфигурировании
Ключ шифрования, используемый для шифрования хранилища артефактов, например, ключ AWS KMS.

location
string
always
Расположение хранилища артефактов (имя ведра s3).

Пример:
my_s3_codepipline_bucket
type
string
always
Тип хранилища артефактов, например, S3.

Пример:
S3
name
string
always
Имя CodePipeline.

Пример:
my_deploy_pipeline
role_arn
string
always
ARN роли IAM, прикрепленной к конвейеру кода.

Пример:
arn:aws:iam::123123123:role/codepipeline-service-role
stages
list / elements=string
always
Список этапов, настроенных для этого конвейера.

version
integer
always
Номер версии конвейера. Этот номер автоматически увеличивается при изменении параметров конвейера.



Авторы

  • Stefan Horning (@stefanhorning) <horning@mediapeers.com>

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/aws_codepipeline_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API