From c7a98685ab3c3bafe95ae11524765f8f68528183 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Fri, 3 Jul 2020 12:45:39 +0300 Subject: [PATCH 1/7] add installation aws session manager for windows --- images/win/Windows2016-Azure.json | 12 ++++++++++++ images/win/Windows2019-Azure.json | 12 ++++++++++++ .../win/scripts/Installers/Install-AWS-CLI-SM.ps1 | 9 +++++++++ .../win/scripts/Installers/Validate-AWS-CLI-SM.ps1 | 14 ++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 create mode 100644 images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 05333241a..c78b05ee9 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -509,6 +509,12 @@ "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-AWS-CLI-SM.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -707,6 +713,12 @@ "{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-AWS-CLI-SM.ps1" + ] + }, { "type": "powershell", "scripts":[ diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index cf10a9033..6e9107805 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -476,6 +476,12 @@ "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Install-AWS-CLI-SM.ps1" + ] + }, { "type": "powershell", "scripts":[ @@ -692,6 +698,12 @@ "{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1" ] }, + { + "type": "powershell", + "scripts":[ + "{{ template_dir }}/scripts/Installers/Validate-AWS-CLI-SM.ps1" + ] + }, { "type": "powershell", "scripts":[ diff --git a/images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 b/images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 new file mode 100644 index 000000000..df5e4dff6 --- /dev/null +++ b/images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 @@ -0,0 +1,9 @@ +################################################################################ +## File: Install-AWS-CLI-SM.ps1 +## Desc: Install AWS CLI Session Manager +################################################################################ + +$sessionManagerName = "SessionManagerPluginSetup.exe" +$sessionManagerUrl = "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/$sessionManagerName" +Install-Binary -Url $sessionManagerUrl -Name $sessionManagerName -ArgumentList ("/silent", "/install") +Add-MachinePathItem -PathItem "C:\Program Files\Amazon\SessionManagerPlugin\bin" diff --git a/images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 b/images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 new file mode 100644 index 000000000..b6d9df4c5 --- /dev/null +++ b/images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 @@ -0,0 +1,14 @@ +################################################################################ +## File: Validate-AWS-CLI-SM.ps1 +## Desc: Validate aws cli session manager +################################################################################ + +$sessionMessage = session-manager-plugin + +if ($sessionMessage -Match "*plugin was installed successfully*") { + Write-Host "$sessionMessage" + exit 0 +} else { + Write-Host "$sessionMessage" + exit 1 +} \ No newline at end of file From 53eecd6367b617156ae4007903dc918996098ef0 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Sat, 4 Jul 2020 12:26:39 +0300 Subject: [PATCH 2/7] move to one file --- images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 | 9 --------- images/win/scripts/Installers/Install-AWS.ps1 | 5 +++++ 2 files changed, 5 insertions(+), 9 deletions(-) delete mode 100644 images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 diff --git a/images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 b/images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 deleted file mode 100644 index df5e4dff6..000000000 --- a/images/win/scripts/Installers/Install-AWS-CLI-SM.ps1 +++ /dev/null @@ -1,9 +0,0 @@ -################################################################################ -## File: Install-AWS-CLI-SM.ps1 -## Desc: Install AWS CLI Session Manager -################################################################################ - -$sessionManagerName = "SessionManagerPluginSetup.exe" -$sessionManagerUrl = "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/$sessionManagerName" -Install-Binary -Url $sessionManagerUrl -Name $sessionManagerName -ArgumentList ("/silent", "/install") -Add-MachinePathItem -PathItem "C:\Program Files\Amazon\SessionManagerPlugin\bin" diff --git a/images/win/scripts/Installers/Install-AWS.ps1 b/images/win/scripts/Installers/Install-AWS.ps1 index 23a5c4d4d..d3b698586 100644 --- a/images/win/scripts/Installers/Install-AWS.ps1 +++ b/images/win/scripts/Installers/Install-AWS.ps1 @@ -15,3 +15,8 @@ else Write-Host 'awscli is not on path' exit 1 } + +$sessionManagerName = "SessionManagerPluginSetup.exe" +$sessionManagerUrl = "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/$sessionManagerName" +Install-Binary -Url $sessionManagerUrl -Name $sessionManagerName -ArgumentList ("/silent", "/install") +Add-MachinePathItem -PathItem "C:\Program Files\Amazon\SessionManagerPlugin\bin" From 50ed8f72e10cbe4ce297062d170f8ef036430976 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Sat, 4 Jul 2020 12:31:23 +0300 Subject: [PATCH 3/7] remove script step --- images/win/Windows2016-Azure.json | 6 ------ images/win/Windows2019-Azure.json | 6 ------ 2 files changed, 12 deletions(-) diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index c78b05ee9..924dbd72a 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -509,12 +509,6 @@ "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS-CLI-SM.ps1" - ] - }, { "type": "powershell", "scripts":[ diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 6e9107805..826131781 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -476,12 +476,6 @@ "{{ template_dir }}/scripts/Installers/Install-AWS-SAM.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Install-AWS-CLI-SM.ps1" - ] - }, { "type": "powershell", "scripts":[ From bf7da363ebcdff27c2cc770a0f7fd4a75fdfa482 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Mon, 6 Jul 2020 10:42:34 +0300 Subject: [PATCH 4/7] add documentation --- .../scripts/SoftwareReport/SoftwareReport.Generator.ps1 | 1 + .../win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index a87bde942..ca553f6f6 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -99,6 +99,7 @@ $markdown += New-MDList -Style Unordered -Lines @( (Get-AzureDevopsExtVersion), (Get-AWSCLIVersion), (Get-AWSSAMVersion), + (Get-AWSSessionManagerVersion), (Get-AlibabaCLIVersion), (Get-CloudFoundryVersion), (Get-HubVersion), diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index 5093a8039..a95272abf 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -146,7 +146,7 @@ function Get-AzCopyVersion { } function Get-AzureDevopsExtVersion { - $azureDevExtVersion = (az version | ConvertFrom-Json | Foreach{ $_."extensions" })."azure-devops" + $azureDevExtVersion = (az version | ConvertFrom-Json | ForEach-Object { $_."extensions" })."azure-devops" return "Azure DevOps CLI extension $azureDevExtVersion" } @@ -162,6 +162,11 @@ function Get-AWSSAMVersion { return "AWS SAM CLI $awssamVersion" } +function Get-AWSSessionManagerVersion { + $awsSessionManagerVersion = $(session-manager-plugin --version) + return "AWS Session Manager CLI $awsSessionManagerVersion" +} + function Get-AlibabaCLIVersion { $(aliyun --version | Select-String "Alibaba Cloud Command Line Interface") -match "(?\d+\.\d+\.\d+)" | Out-Null $alicliVersion = $Matches.Version From 0fa2df6ae037dfbed7d49e74b38a6647cddc4ec3 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Mon, 6 Jul 2020 12:06:01 +0300 Subject: [PATCH 5/7] move logic to one file --- images/win/Windows2016-Azure.json | 6 ------ images/win/Windows2019-Azure.json | 6 ------ images/win/scripts/Installers/Install-AWS.ps1 | 10 ++++++++++ .../win/scripts/Installers/Validate-AWS-CLI-SM.ps1 | 14 -------------- 4 files changed, 10 insertions(+), 26 deletions(-) delete mode 100644 images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 diff --git a/images/win/Windows2016-Azure.json b/images/win/Windows2016-Azure.json index 924dbd72a..05333241a 100644 --- a/images/win/Windows2016-Azure.json +++ b/images/win/Windows2016-Azure.json @@ -707,12 +707,6 @@ "{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AWS-CLI-SM.ps1" - ] - }, { "type": "powershell", "scripts":[ diff --git a/images/win/Windows2019-Azure.json b/images/win/Windows2019-Azure.json index 826131781..cf10a9033 100644 --- a/images/win/Windows2019-Azure.json +++ b/images/win/Windows2019-Azure.json @@ -692,12 +692,6 @@ "{{ template_dir }}/scripts/Installers/Validate-AWS-SAM.ps1" ] }, - { - "type": "powershell", - "scripts":[ - "{{ template_dir }}/scripts/Installers/Validate-AWS-CLI-SM.ps1" - ] - }, { "type": "powershell", "scripts":[ diff --git a/images/win/scripts/Installers/Install-AWS.ps1 b/images/win/scripts/Installers/Install-AWS.ps1 index d3b698586..212e359cb 100644 --- a/images/win/scripts/Installers/Install-AWS.ps1 +++ b/images/win/scripts/Installers/Install-AWS.ps1 @@ -20,3 +20,13 @@ $sessionManagerName = "SessionManagerPluginSetup.exe" $sessionManagerUrl = "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/$sessionManagerName" Install-Binary -Url $sessionManagerUrl -Name $sessionManagerName -ArgumentList ("/silent", "/install") Add-MachinePathItem -PathItem "C:\Program Files\Amazon\SessionManagerPlugin\bin" + +$sessionMessage = session-manager-plugin + +if ($sessionMessage -Match "*plugin was installed successfully*") { + Write-Host "$sessionMessage" + exit 0 +} else { + Write-Host "$sessionMessage" + exit 1 +} \ No newline at end of file diff --git a/images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 b/images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 deleted file mode 100644 index b6d9df4c5..000000000 --- a/images/win/scripts/Installers/Validate-AWS-CLI-SM.ps1 +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -## File: Validate-AWS-CLI-SM.ps1 -## Desc: Validate aws cli session manager -################################################################################ - -$sessionMessage = session-manager-plugin - -if ($sessionMessage -Match "*plugin was installed successfully*") { - Write-Host "$sessionMessage" - exit 0 -} else { - Write-Host "$sessionMessage" - exit 1 -} \ No newline at end of file From 6481eeaac6a6891c92abae6cd2431d99767a373d Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Mon, 6 Jul 2020 12:07:43 +0300 Subject: [PATCH 6/7] add notmatch --- images/win/scripts/Installers/Install-AWS.ps1 | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/images/win/scripts/Installers/Install-AWS.ps1 b/images/win/scripts/Installers/Install-AWS.ps1 index 212e359cb..18bd1d55f 100644 --- a/images/win/scripts/Installers/Install-AWS.ps1 +++ b/images/win/scripts/Installers/Install-AWS.ps1 @@ -22,11 +22,7 @@ Install-Binary -Url $sessionManagerUrl -Name $sessionManagerName -ArgumentList ( Add-MachinePathItem -PathItem "C:\Program Files\Amazon\SessionManagerPlugin\bin" $sessionMessage = session-manager-plugin - -if ($sessionMessage -Match "*plugin was installed successfully*") { - Write-Host "$sessionMessage" - exit 0 -} else { - Write-Host "$sessionMessage" +Write-Host "$sessionMessage" +if ($sessionMessage -notmatch "*plugin was installed successfully*") { exit 1 } \ No newline at end of file From ec239c0649e3da776cd8f5dad8c91a7b12430f43 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Mon, 6 Jul 2020 12:48:04 +0300 Subject: [PATCH 7/7] change setup path variable --- images/win/scripts/Installers/Install-AWS.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/win/scripts/Installers/Install-AWS.ps1 b/images/win/scripts/Installers/Install-AWS.ps1 index 18bd1d55f..59feea232 100644 --- a/images/win/scripts/Installers/Install-AWS.ps1 +++ b/images/win/scripts/Installers/Install-AWS.ps1 @@ -19,7 +19,7 @@ else $sessionManagerName = "SessionManagerPluginSetup.exe" $sessionManagerUrl = "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/$sessionManagerName" Install-Binary -Url $sessionManagerUrl -Name $sessionManagerName -ArgumentList ("/silent", "/install") -Add-MachinePathItem -PathItem "C:\Program Files\Amazon\SessionManagerPlugin\bin" +$env:Path = $env:Path + ";$env:ProgramFiles\Amazon\SessionManagerPlugin\bin" $sessionMessage = session-manager-plugin Write-Host "$sessionMessage"