|
18 | 18 | description: 'Terraform version to use. Leave empty for the latest version.' |
19 | 19 | required: false |
20 | 20 | type: string |
21 | | - aws_credentials: |
22 | | - description: 'AWS credentials to use.' |
| 21 | + aws_region: |
23 | 22 | required: false |
24 | | - default: false |
25 | 23 | type: string |
| 24 | + default: us-east-1 |
| 25 | + description: 'AWS region of terraform deployment.' |
| 26 | + role_duration_seconds: |
| 27 | + required: false |
| 28 | + type: number |
| 29 | + default: 3600 |
| 30 | + description: 'The assumed role duration in seconds, if assuming a role. Defaults to 1 hour (3600 seconds). Acceptable values range from 15 minutes (900 seconds) to 12 hours (43200 seconds).' |
26 | 31 | gcp_credentials: |
27 | 32 | description: 'GCP credentials to use.' |
28 | 33 | required: false |
|
48 | 53 | default: true |
49 | 54 | description: 'If true, the action will securely generate a credentials file which can be used for authentication via gcloud and Google Cloud SDKs.' |
50 | 55 | secrets: |
| 56 | + AZURE_CREDENTIALS: |
| 57 | + required: false |
| 58 | + description: 'Azure Credentials to install Azure in github runner.' |
51 | 59 | AWS_ACCESS_KEY_ID: |
52 | 60 | description: 'aws access keys' |
53 | 61 | required: false |
54 | 62 | AWS_SECRET_ACCESS_KEY: |
55 | 63 | description: 'aws secret access keys' |
56 | 64 | required: false |
| 65 | + AWS_SESSION_TOKEN: |
| 66 | + required: false |
| 67 | + description: 'AWS Session Token to install AWS CLI' |
| 68 | + BUILD_ROLE: |
| 69 | + required: false |
| 70 | + description: 'AWS OIDC role for aws authentication.' |
57 | 71 | GCP_CREDENTIALS: |
58 | 72 | description: 'The Google Cloud JSON service account key to use for authentication' |
59 | 73 | required: false |
@@ -104,13 +118,23 @@ jobs: |
104 | 118 | - name: Checkout |
105 | 119 | uses: actions/checkout@v4 |
106 | 120 |
|
107 | | - - name: Configure AWS credentials |
108 | | - if: ${{ inputs.aws_credentials == 'true' }} |
| 121 | + - name: Install AWS CLI |
| 122 | + if: ${{ inputs.provider == 'aws' }} |
109 | 123 | uses: aws-actions/configure-aws-credentials@v4 |
110 | 124 | with: |
111 | 125 | aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} |
112 | 126 | aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
113 | | - aws-region: us-east-1 |
| 127 | + aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }} |
| 128 | + role-to-assume: ${{ secrets.BUILD_ROLE }} |
| 129 | + aws-region: ${{ inputs.aws_region }} |
| 130 | + role-duration-seconds: ${{ inputs.role_duration_seconds }} |
| 131 | + role-skip-session-tagging: true |
| 132 | + |
| 133 | + - name: Install Azure CLI |
| 134 | + if: ${{ inputs.provider == 'azurerm' }} |
| 135 | + uses: azure/login@v2 |
| 136 | + with: |
| 137 | + creds: ${{ secrets.AZURE_CREDENTIALS }} |
114 | 138 |
|
115 | 139 | - name: 'Authenticate to Google Cloud' |
116 | 140 | if: ${{ inputs.provider == 'gcp' }} |
|
0 commit comments