Compare commits
30 Commits
ci
...
sdk/v0.0.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a62b081ec | ||
|
|
4e8cf8f4ba | ||
|
|
44e082a0a0 | ||
|
|
effb497234 | ||
|
|
9a1706a203 | ||
|
|
c305ea88c4 | ||
|
|
f0aaf7095d | ||
|
|
c9e5913af1 | ||
|
|
1d6038bb07 | ||
|
|
ff71c251e1 | ||
|
|
9b789f3742 | ||
|
|
d3e22d5679 | ||
|
|
dc1ba98390 | ||
|
|
5cb40f8957 | ||
|
|
26c144c916 | ||
|
|
2545dd3089 | ||
|
|
c6ebf2c6ca | ||
|
|
1df5cb1edc | ||
|
|
9026e23f75 | ||
|
|
680b464bfc | ||
|
|
ffc60ed74e | ||
|
|
fd9735d956 | ||
|
|
2b348f84e4 | ||
|
|
3eb77f66f2 | ||
|
|
9c6f393c02 | ||
|
|
ba8df7440e | ||
|
|
a7e6ea40b6 | ||
|
|
ab17803a13 | ||
|
|
cc462e188f | ||
|
|
3d69361449 |
Submodule .devcontainer deleted from dce1e31630
@@ -1,68 +0,0 @@
|
|||||||
// Reference:
|
|
||||||
// - https://containers.dev/features
|
|
||||||
// - https://containers.dev/implementors/features
|
|
||||||
// - https://code.visualstudio.com/docs/getstarted/settings
|
|
||||||
{
|
|
||||||
"name": "pulumi",
|
|
||||||
"image": "ghcr.io/pulumi/devcontainer",
|
|
||||||
"customizations": {
|
|
||||||
"vscode": {
|
|
||||||
"settings": [
|
|
||||||
"go.testTags", "all",
|
|
||||||
"go.buildTags", "all",
|
|
||||||
"editor.minimap.enabled", false,
|
|
||||||
"explorer.openEditors.visible", 1,
|
|
||||||
"editor.quickSuggestionsDelay", 0,
|
|
||||||
"editor.suggestSelection", "first",
|
|
||||||
"editor.snippetSuggestions", "top",
|
|
||||||
"editor.gotoLocation.multipleReferences", "goto",
|
|
||||||
"editor.gotoLocation.multipleDefinitions", "goto",
|
|
||||||
"editor.gotoLocation.multipleDeclarations", "goto",
|
|
||||||
"editor.gotoLocation.multipleImplementations", "goto",
|
|
||||||
"editor.gotoLocation.multipleTypeDefinitions", "goto",
|
|
||||||
"editor.terminal.integrated.shell.linux", "/usr/bin/zsh",
|
|
||||||
"files.trimTrailingWhitespace", true,
|
|
||||||
"files.trimFinalNewlines", true
|
|
||||||
],
|
|
||||||
"extensions": [
|
|
||||||
"golang.go",
|
|
||||||
"vscodevim.vim",
|
|
||||||
"github.copilot",
|
|
||||||
"ms-python.python",
|
|
||||||
"jetpack-io.devbox",
|
|
||||||
"redhat.vscode-yaml",
|
|
||||||
"esbenp.prettier-vscode",
|
|
||||||
"ms-vscode.makefile-tools",
|
|
||||||
"ms-azuretools.vscode-docker",
|
|
||||||
"github.vscode-pull-request-github",
|
|
||||||
"ms-vscode-remote.remote-containers",
|
|
||||||
"visualstudioexptteam.vscodeintellicode",
|
|
||||||
"bierner.markdown-preview-github-styles"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"features": {
|
|
||||||
"ghcr.io/devcontainers/features/common-utils:2": {
|
|
||||||
"installZsh": true,
|
|
||||||
"configureZshAsDefaultShell": true,
|
|
||||||
"installOhMyZsh": true,
|
|
||||||
"installOhMyZshConfig": true,
|
|
||||||
"upgradePackages": true,
|
|
||||||
"nonFreePackages": true,
|
|
||||||
"username": "vscode",
|
|
||||||
"userUid": "automatic",
|
|
||||||
"userGid": "automatic"
|
|
||||||
},
|
|
||||||
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
|
|
||||||
"moby": false,
|
|
||||||
"installDockerBuildx": true,
|
|
||||||
"version": "latest",
|
|
||||||
"dockerDashComposeVersion": "v2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"postCreateCommand": "git submodule update --init --recursive",
|
|
||||||
"remoteUser": "vscode",
|
|
||||||
"forwardPorts": [1313],
|
|
||||||
"runArgs": ["--network=host"]
|
|
||||||
}
|
|
||||||
|
|
||||||
55
.github/workflows/makefile.yaml
vendored
55
.github/workflows/makefile.yaml
vendored
@@ -1,55 +0,0 @@
|
|||||||
name: Makefile
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
schedule:
|
|
||||||
- cron: "0 0 * * *"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container:
|
|
||||||
image: docker://ghcr.io/pulumi/devcontainer:latest
|
|
||||||
options: --user root
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: read
|
|
||||||
actions: read
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
id: git
|
|
||||||
with:
|
|
||||||
submodules: "recursive"
|
|
||||||
- name: Unshallow clone for tags
|
|
||||||
id: tags
|
|
||||||
run: |
|
|
||||||
sudo chown -R $(whoami) /__w/pulumi-docker-native/pulumi-docker-native
|
|
||||||
git config --global --add safe.directory /__w/pulumi-docker-native/pulumi-docker-native
|
|
||||||
git fetch --prune --unshallow --tags
|
|
||||||
- name: Build
|
|
||||||
id: build
|
|
||||||
run: |
|
|
||||||
make build
|
|
||||||
- name: Install
|
|
||||||
id: install
|
|
||||||
run: |
|
|
||||||
set -ex
|
|
||||||
make install
|
|
||||||
- name: PulumiUp
|
|
||||||
id: up
|
|
||||||
run: make up
|
|
||||||
- name: PulumiDown
|
|
||||||
id: down
|
|
||||||
run: make down
|
|
||||||
- name: Generate multi-language examples from yaml IaC program
|
|
||||||
id: examples
|
|
||||||
run: |
|
|
||||||
set -ex
|
|
||||||
make gen_examples
|
|
||||||
16
.gitignore
vendored
16
.gitignore
vendored
@@ -1,16 +0,0 @@
|
|||||||
/vendor/
|
|
||||||
**/bin/
|
|
||||||
**/obj/
|
|
||||||
**/node_modules/
|
|
||||||
**/.vs
|
|
||||||
**/.idea
|
|
||||||
**/.ionide
|
|
||||||
.pulumi
|
|
||||||
Pulumi.*.yaml
|
|
||||||
yarn.lock
|
|
||||||
ci-scripts
|
|
||||||
/nuget/
|
|
||||||
provider/**/schema-embed.json
|
|
||||||
|
|
||||||
|
|
||||||
sdk/python/venv
|
|
||||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +0,0 @@
|
|||||||
[submodule ".devcontainer"]
|
|
||||||
path = .devcontainer
|
|
||||||
url = https://github.com/pulumi/devcontainer
|
|
||||||
145
Makefile
145
Makefile
@@ -1,145 +0,0 @@
|
|||||||
PROJECT_NAME := Pulumi Docker Native Resource Provider
|
|
||||||
|
|
||||||
PACK := docker-native
|
|
||||||
PACKDIR := sdk
|
|
||||||
PROJECT := github.com/pulumi/pulumi-docker-native
|
|
||||||
NODE_MODULE_NAME := @pulumi/docker-native
|
|
||||||
NUGET_PKG_NAME := Pulumi.DockerNative
|
|
||||||
|
|
||||||
PROVIDER := pulumi-resource-${PACK}
|
|
||||||
VERSION ?= $(shell pulumictl get version)
|
|
||||||
PROVIDER_PATH := provider
|
|
||||||
VERSION_PATH := ${PROVIDER_PATH}.Version
|
|
||||||
|
|
||||||
GOPATH := $(shell go env GOPATH)
|
|
||||||
|
|
||||||
WORKING_DIR := $(shell pwd)
|
|
||||||
EXAMPLES_DIR := ${WORKING_DIR}/examples/yaml
|
|
||||||
TESTPARALLELISM := 4
|
|
||||||
|
|
||||||
ensure::
|
|
||||||
cd provider && go mod tidy
|
|
||||||
cd sdk && go mod tidy
|
|
||||||
cd tests && go mod tidy
|
|
||||||
|
|
||||||
provider::
|
|
||||||
(cd provider && go build -o $(WORKING_DIR)/bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
|
||||||
|
|
||||||
provider_debug::
|
|
||||||
(cd provider && go build -o $(WORKING_DIR)/bin/${PROVIDER} -gcflags="all=-N -l" -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
|
||||||
|
|
||||||
test_provider::
|
|
||||||
cd tests && go test -short -v -count=1 -cover -timeout 2h -parallel ${TESTPARALLELISM} ./...
|
|
||||||
|
|
||||||
dotnet_sdk:: DOTNET_VERSION := $(shell pulumictl get version --language dotnet)
|
|
||||||
dotnet_sdk::
|
|
||||||
rm -rf sdk/dotnet
|
|
||||||
pulumi package gen-sdk $(WORKING_DIR)/bin/$(PROVIDER) --language dotnet
|
|
||||||
cd ${PACKDIR}/dotnet/&& \
|
|
||||||
echo "${DOTNET_VERSION}" >version.txt && \
|
|
||||||
dotnet build /p:Version=${DOTNET_VERSION}
|
|
||||||
|
|
||||||
go_sdk:: $(WORKING_DIR)/bin/$(PROVIDER)
|
|
||||||
rm -rf sdk/go
|
|
||||||
pulumi package gen-sdk $(WORKING_DIR)/bin/$(PROVIDER) --language go
|
|
||||||
|
|
||||||
nodejs_sdk:: VERSION := $(shell pulumictl get version --language javascript)
|
|
||||||
nodejs_sdk::
|
|
||||||
rm -rf sdk/nodejs
|
|
||||||
pulumi package gen-sdk $(WORKING_DIR)/bin/$(PROVIDER) --language nodejs
|
|
||||||
cd ${PACKDIR}/nodejs/ && \
|
|
||||||
yarn install && \
|
|
||||||
yarn run tsc && \
|
|
||||||
cp ../../README.md ../../LICENSE package.json yarn.lock bin/ && \
|
|
||||||
sed -i.bak 's/$${VERSION}/$(VERSION)/g' bin/package.json && \
|
|
||||||
rm ./bin/package.json.bak
|
|
||||||
|
|
||||||
python_sdk:: PYPI_VERSION := $(shell pulumictl get version --language python)
|
|
||||||
python_sdk::
|
|
||||||
rm -rf sdk/python
|
|
||||||
pulumi package gen-sdk $(WORKING_DIR)/bin/$(PROVIDER) --language python
|
|
||||||
cp README.md ${PACKDIR}/python/
|
|
||||||
cd ${PACKDIR}/python/ && \
|
|
||||||
python3 setup.py clean --all 2>/dev/null && \
|
|
||||||
rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \
|
|
||||||
sed -i.bak -e 's/^VERSION = .*/VERSION = "$(PYPI_VERSION)"/g' -e 's/^PLUGIN_VERSION = .*/PLUGIN_VERSION = "$(VERSION)"/g' ./bin/setup.py && \
|
|
||||||
rm ./bin/setup.py.bak && \
|
|
||||||
cd ./bin && python3 setup.py build sdist
|
|
||||||
|
|
||||||
gen_examples: gen_go_example \
|
|
||||||
gen_nodejs_example \
|
|
||||||
gen_python_example \
|
|
||||||
gen_dotnet_example
|
|
||||||
|
|
||||||
gen_%_example:
|
|
||||||
rm -rf ${WORKING_DIR}/examples/$*
|
|
||||||
pulumi convert \
|
|
||||||
--cwd ${WORKING_DIR}/examples/yaml \
|
|
||||||
--logtostderr \
|
|
||||||
--generate-only \
|
|
||||||
--non-interactive \
|
|
||||||
--language $* \
|
|
||||||
--out ${WORKING_DIR}/examples/$*
|
|
||||||
|
|
||||||
define pulumi_login
|
|
||||||
export PULUMI_CONFIG_PASSPHRASE=asdfqwerty1234; \
|
|
||||||
pulumi login --local;
|
|
||||||
endef
|
|
||||||
|
|
||||||
up::
|
|
||||||
$(call pulumi_login) \
|
|
||||||
cd ${EXAMPLES_DIR} && \
|
|
||||||
pulumi stack init dev && \
|
|
||||||
pulumi stack select dev && \
|
|
||||||
pulumi config set name dev && \
|
|
||||||
pulumi up -y
|
|
||||||
|
|
||||||
down::
|
|
||||||
$(call pulumi_login) \
|
|
||||||
cd ${EXAMPLES_DIR} && \
|
|
||||||
pulumi stack select dev && \
|
|
||||||
pulumi destroy -y && \
|
|
||||||
pulumi stack rm dev -y
|
|
||||||
|
|
||||||
devcontainer::
|
|
||||||
git submodule update --init --recursive .devcontainer
|
|
||||||
git submodule update --remote --merge .devcontainer
|
|
||||||
cp -f .devcontainer/devcontainer.json .devcontainer.json
|
|
||||||
|
|
||||||
.PHONY: build
|
|
||||||
|
|
||||||
build:: provider dotnet_sdk go_sdk nodejs_sdk python_sdk
|
|
||||||
|
|
||||||
# Required for the codegen action that runs in pulumi/pulumi
|
|
||||||
only_build:: build
|
|
||||||
|
|
||||||
lint::
|
|
||||||
for DIR in "provider" "sdk" "tests" ; do \
|
|
||||||
pushd $$DIR && golangci-lint run -c ../.golangci.yml --timeout 10m && popd ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
install:: install_nodejs_sdk install_dotnet_sdk
|
|
||||||
cp $(WORKING_DIR)/bin/${PROVIDER} ${GOPATH}/bin
|
|
||||||
|
|
||||||
GO_TEST := go test -v -count=1 -cover -timeout 2h -parallel ${TESTPARALLELISM}
|
|
||||||
|
|
||||||
test_all:: test_provider
|
|
||||||
cd tests/sdk/nodejs && $(GO_TEST) ./...
|
|
||||||
cd tests/sdk/python && $(GO_TEST) ./...
|
|
||||||
cd tests/sdk/dotnet && $(GO_TEST) ./...
|
|
||||||
cd tests/sdk/go && $(GO_TEST) ./...
|
|
||||||
|
|
||||||
install_dotnet_sdk::
|
|
||||||
rm -rf $(WORKING_DIR)/nuget/$(NUGET_PKG_NAME).*.nupkg
|
|
||||||
mkdir -p $(WORKING_DIR)/nuget
|
|
||||||
find . -name '*.nupkg' -print -exec cp -p {} ${WORKING_DIR}/nuget \;
|
|
||||||
|
|
||||||
install_python_sdk::
|
|
||||||
#target intentionally blank
|
|
||||||
|
|
||||||
install_go_sdk::
|
|
||||||
#target intentionally blank
|
|
||||||
|
|
||||||
install_nodejs_sdk::
|
|
||||||
-yarn unlink --cwd $(WORKING_DIR)/sdk/nodejs/bin
|
|
||||||
yarn link --cwd $(WORKING_DIR)/sdk/nodejs/bin
|
|
||||||
117
README.md
117
README.md
@@ -1,106 +1,23 @@
|
|||||||
# Pulumi Native Provider Boilerplate
|
[](https://slack.pulumi.com)
|
||||||
|
[](https://www.npmjs.com/package/@pulumi/docker-build)
|
||||||
|
[](https://pypi.org/project/pulumi-docker-build)
|
||||||
|
[](https://badge.fury.io/nu/pulumi.dockerbuild)
|
||||||
|
[](https://pkg.go.dev/github.com/pulumi/pulumi-docker-build/sdk/go)
|
||||||
|
[](https://github.com/pulumi/pulumi-docker-build/blob/main/LICENSE)
|
||||||
|
|
||||||
This repository is a boilerplate showing how to create and locally test a native Pulumi provider.
|
# Docker-Build Resource Provider
|
||||||
|
|
||||||
## Authoring a Pulumi Native Provider
|
A [Pulumi](http://pulumi.com) provider for building modern Docker images with [buildx](https://docs.docker.com/build/architecture/) and [BuildKit](https://docs.docker.com/build/buildkit/).
|
||||||
|
|
||||||
This boilerplate creates a working Pulumi-owned provider named `xyz`.
|
Not to be confused with the earlier
|
||||||
It implements a random number generator that you can [build and test out for yourself](#test-against-the-example) and then replace the Random code with code specific to your provider.
|
[Docker](http://github.com/pulumi/pulumi-docker) provider, which is still
|
||||||
|
appropriate for managing resources unrelated to building images.
|
||||||
|
|
||||||
|
| Provider | Use cases |
|
||||||
|
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `@pulumi/docker-build` | Anything related to building images with `docker build`. |
|
||||||
|
| `@pulumi/docker` | Everything else -- including running containers and creating networks. |
|
||||||
|
|
||||||
### Prerequisites
|
## Reference
|
||||||
|
|
||||||
Prerequisites for this repository are already satisfied by the [Pulumi Devcontainer](https://github.com/pulumi/devcontainer) if you are using Github Codespaces, or VSCode.
|
For more information, including examples and migration guidance, please see the Docker-Build provider's detailed [API documentation](https://www.pulumi.com/registry/packages/docker-build/).
|
||||||
|
|
||||||
If you are not using VSCode, you will need to ensure the following tools are installed and present in your `$PATH`:
|
|
||||||
|
|
||||||
* [`pulumictl`](https://github.com/pulumi/pulumictl#installation)
|
|
||||||
* [Go 1.21](https://golang.org/dl/) or 1.latest
|
|
||||||
* [NodeJS](https://nodejs.org/en/) 14.x. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations.
|
|
||||||
* [Yarn](https://yarnpkg.com/)
|
|
||||||
* [TypeScript](https://www.typescriptlang.org/)
|
|
||||||
* [Python](https://www.python.org/downloads/) (called as `python3`). For recent versions of MacOS, the system-installed version is fine.
|
|
||||||
* [.NET](https://dotnet.microsoft.com/download)
|
|
||||||
|
|
||||||
|
|
||||||
### Build & test the boilerplate XYZ provider
|
|
||||||
|
|
||||||
1. Create a new Github CodeSpaces environment using this repository.
|
|
||||||
1. Open a terminal in the CodeSpaces environment.
|
|
||||||
1. Run `make build install` to build and install the provider.
|
|
||||||
1. Run `make gen_examples` to generate the example programs in `examples/` off of the source `examples/yaml` example program.
|
|
||||||
1. Run `make up` to run the example program in `examples/yaml`.
|
|
||||||
1. Run `make down` to tear down the example program.
|
|
||||||
|
|
||||||
### Creating a new provider repository
|
|
||||||
|
|
||||||
Pulumi offers this repository as a [GitHub template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) for convenience. From this repository:
|
|
||||||
|
|
||||||
1. Click "Use this template".
|
|
||||||
1. Set the following options:
|
|
||||||
* Owner: pulumi
|
|
||||||
* Repository name: pulumi-xyz-native (replace "xyz" with the name of your provider)
|
|
||||||
* Description: Pulumi provider for xyz
|
|
||||||
* Repository type: Public
|
|
||||||
1. Clone the generated repository.
|
|
||||||
|
|
||||||
From the templated repository:
|
|
||||||
|
|
||||||
1. Search-replace `xyz` with the name of your desired provider.
|
|
||||||
|
|
||||||
#### Build the provider and install the plugin
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ make build install
|
|
||||||
```
|
|
||||||
|
|
||||||
This will:
|
|
||||||
|
|
||||||
1. Create the SDK codegen binary and place it in a `./bin` folder (gitignored)
|
|
||||||
2. Create the provider binary and place it in the `./bin` folder (gitignored)
|
|
||||||
3. Generate the dotnet, Go, Node, and Python SDKs and place them in the `./sdk` folder
|
|
||||||
4. Install the provider on your machine.
|
|
||||||
|
|
||||||
#### Test against the example
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ cd examples/simple
|
|
||||||
$ yarn link @pulumi/xyz
|
|
||||||
$ yarn install
|
|
||||||
$ pulumi stack init test
|
|
||||||
$ pulumi up
|
|
||||||
```
|
|
||||||
|
|
||||||
Now that you have completed all of the above steps, you have a working provider that generates a random string for you.
|
|
||||||
|
|
||||||
#### A brief repository overview
|
|
||||||
|
|
||||||
You now have:
|
|
||||||
|
|
||||||
1. A `provider/` folder containing the building and implementation logic
|
|
||||||
1. `cmd/pulumi-resource-xyz/main.go` - holds the provider's sample implementation logic.
|
|
||||||
2. `deployment-templates` - a set of files to help you around deployment and publication
|
|
||||||
3. `sdk` - holds the generated code libraries created by `pulumi-gen-xyz/main.go`
|
|
||||||
4. `examples` a folder of Pulumi programs to try locally and/or use in CI.
|
|
||||||
5. A `Makefile` and this `README`.
|
|
||||||
|
|
||||||
#### Additional Details
|
|
||||||
|
|
||||||
This repository depends on the pulumi-go-provider library. For more details on building providers, please check
|
|
||||||
the [Pulumi Go Provider docs](https://github.com/pulumi/pulumi-go-provider).
|
|
||||||
|
|
||||||
### Build Examples
|
|
||||||
|
|
||||||
Create an example program using the resources defined in your provider, and place it in the `examples/` folder.
|
|
||||||
|
|
||||||
You can now repeat the steps for [build, install, and test](#test-against-the-example).
|
|
||||||
|
|
||||||
## Configuring CI and releases
|
|
||||||
|
|
||||||
1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md).
|
|
||||||
|
|
||||||
## References
|
|
||||||
|
|
||||||
Other resources/examples for implementing providers:
|
|
||||||
* [Pulumi Command provider](https://github.com/pulumi/pulumi-command/blob/master/provider/pkg/provider/provider.go)
|
|
||||||
* [Pulumi Go Provider repository](https://github.com/pulumi/pulumi-go-provider)
|
|
||||||
|
|||||||
353
examples/dotnet/.gitignore
vendored
353
examples/dotnet/.gitignore
vendored
@@ -1,353 +0,0 @@
|
|||||||
## Ignore Visual Studio temporary files, build results, and
|
|
||||||
## files generated by popular Visual Studio add-ons.
|
|
||||||
##
|
|
||||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
|
||||||
|
|
||||||
# User-specific files
|
|
||||||
*.rsuser
|
|
||||||
*.suo
|
|
||||||
*.user
|
|
||||||
*.userosscache
|
|
||||||
*.sln.docstates
|
|
||||||
|
|
||||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
|
||||||
*.userprefs
|
|
||||||
|
|
||||||
# Mono auto generated files
|
|
||||||
mono_crash.*
|
|
||||||
|
|
||||||
# Build results
|
|
||||||
[Dd]ebug/
|
|
||||||
[Dd]ebugPublic/
|
|
||||||
[Rr]elease/
|
|
||||||
[Rr]eleases/
|
|
||||||
x64/
|
|
||||||
x86/
|
|
||||||
[Aa][Rr][Mm]/
|
|
||||||
[Aa][Rr][Mm]64/
|
|
||||||
bld/
|
|
||||||
[Bb]in/
|
|
||||||
[Oo]bj/
|
|
||||||
[Ll]og/
|
|
||||||
[Ll]ogs/
|
|
||||||
|
|
||||||
# Visual Studio 2015/2017 cache/options directory
|
|
||||||
.vs/
|
|
||||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
|
||||||
#wwwroot/
|
|
||||||
|
|
||||||
# Visual Studio 2017 auto generated files
|
|
||||||
Generated\ Files/
|
|
||||||
|
|
||||||
# MSTest test Results
|
|
||||||
[Tt]est[Rr]esult*/
|
|
||||||
[Bb]uild[Ll]og.*
|
|
||||||
|
|
||||||
# NUnit
|
|
||||||
*.VisualState.xml
|
|
||||||
TestResult.xml
|
|
||||||
nunit-*.xml
|
|
||||||
|
|
||||||
# Build Results of an ATL Project
|
|
||||||
[Dd]ebugPS/
|
|
||||||
[Rr]eleasePS/
|
|
||||||
dlldata.c
|
|
||||||
|
|
||||||
# Benchmark Results
|
|
||||||
BenchmarkDotNet.Artifacts/
|
|
||||||
|
|
||||||
# .NET Core
|
|
||||||
project.lock.json
|
|
||||||
project.fragment.lock.json
|
|
||||||
artifacts/
|
|
||||||
|
|
||||||
# StyleCop
|
|
||||||
StyleCopReport.xml
|
|
||||||
|
|
||||||
# Files built by Visual Studio
|
|
||||||
*_i.c
|
|
||||||
*_p.c
|
|
||||||
*_h.h
|
|
||||||
*.ilk
|
|
||||||
*.meta
|
|
||||||
*.obj
|
|
||||||
*.iobj
|
|
||||||
*.pch
|
|
||||||
*.pdb
|
|
||||||
*.ipdb
|
|
||||||
*.pgc
|
|
||||||
*.pgd
|
|
||||||
*.rsp
|
|
||||||
*.sbr
|
|
||||||
*.tlb
|
|
||||||
*.tli
|
|
||||||
*.tlh
|
|
||||||
*.tmp
|
|
||||||
*.tmp_proj
|
|
||||||
*_wpftmp.csproj
|
|
||||||
*.log
|
|
||||||
*.vspscc
|
|
||||||
*.vssscc
|
|
||||||
.builds
|
|
||||||
*.pidb
|
|
||||||
*.svclog
|
|
||||||
*.scc
|
|
||||||
|
|
||||||
# Chutzpah Test files
|
|
||||||
_Chutzpah*
|
|
||||||
|
|
||||||
# Visual C++ cache files
|
|
||||||
ipch/
|
|
||||||
*.aps
|
|
||||||
*.ncb
|
|
||||||
*.opendb
|
|
||||||
*.opensdf
|
|
||||||
*.sdf
|
|
||||||
*.cachefile
|
|
||||||
*.VC.db
|
|
||||||
*.VC.VC.opendb
|
|
||||||
|
|
||||||
# Visual Studio profiler
|
|
||||||
*.psess
|
|
||||||
*.vsp
|
|
||||||
*.vspx
|
|
||||||
*.sap
|
|
||||||
|
|
||||||
# Visual Studio Trace Files
|
|
||||||
*.e2e
|
|
||||||
|
|
||||||
# TFS 2012 Local Workspace
|
|
||||||
$tf/
|
|
||||||
|
|
||||||
# Guidance Automation Toolkit
|
|
||||||
*.gpState
|
|
||||||
|
|
||||||
# ReSharper is a .NET coding add-in
|
|
||||||
_ReSharper*/
|
|
||||||
*.[Rr]e[Ss]harper
|
|
||||||
*.DotSettings.user
|
|
||||||
|
|
||||||
# JustCode is a .NET coding add-in
|
|
||||||
.JustCode
|
|
||||||
|
|
||||||
# TeamCity is a build add-in
|
|
||||||
_TeamCity*
|
|
||||||
|
|
||||||
# DotCover is a Code Coverage Tool
|
|
||||||
*.dotCover
|
|
||||||
|
|
||||||
# AxoCover is a Code Coverage Tool
|
|
||||||
.axoCover/*
|
|
||||||
!.axoCover/settings.json
|
|
||||||
|
|
||||||
# Visual Studio code coverage results
|
|
||||||
*.coverage
|
|
||||||
*.coveragexml
|
|
||||||
|
|
||||||
# NCrunch
|
|
||||||
_NCrunch_*
|
|
||||||
.*crunch*.local.xml
|
|
||||||
nCrunchTemp_*
|
|
||||||
|
|
||||||
# MightyMoose
|
|
||||||
*.mm.*
|
|
||||||
AutoTest.Net/
|
|
||||||
|
|
||||||
# Web workbench (sass)
|
|
||||||
.sass-cache/
|
|
||||||
|
|
||||||
# Installshield output folder
|
|
||||||
[Ee]xpress/
|
|
||||||
|
|
||||||
# DocProject is a documentation generator add-in
|
|
||||||
DocProject/buildhelp/
|
|
||||||
DocProject/Help/*.HxT
|
|
||||||
DocProject/Help/*.HxC
|
|
||||||
DocProject/Help/*.hhc
|
|
||||||
DocProject/Help/*.hhk
|
|
||||||
DocProject/Help/*.hhp
|
|
||||||
DocProject/Help/Html2
|
|
||||||
DocProject/Help/html
|
|
||||||
|
|
||||||
# Click-Once directory
|
|
||||||
publish/
|
|
||||||
|
|
||||||
# Publish Web Output
|
|
||||||
*.[Pp]ublish.xml
|
|
||||||
*.azurePubxml
|
|
||||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
|
||||||
# but database connection strings (with potential passwords) will be unencrypted
|
|
||||||
*.pubxml
|
|
||||||
*.publishproj
|
|
||||||
|
|
||||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
|
||||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
|
||||||
# in these scripts will be unencrypted
|
|
||||||
PublishScripts/
|
|
||||||
|
|
||||||
# NuGet Packages
|
|
||||||
*.nupkg
|
|
||||||
# NuGet Symbol Packages
|
|
||||||
*.snupkg
|
|
||||||
# The packages folder can be ignored because of Package Restore
|
|
||||||
**/[Pp]ackages/*
|
|
||||||
# except build/, which is used as an MSBuild target.
|
|
||||||
!**/[Pp]ackages/build/
|
|
||||||
# Uncomment if necessary however generally it will be regenerated when needed
|
|
||||||
#!**/[Pp]ackages/repositories.config
|
|
||||||
# NuGet v3's project.json files produces more ignorable files
|
|
||||||
*.nuget.props
|
|
||||||
*.nuget.targets
|
|
||||||
|
|
||||||
# Microsoft Azure Build Output
|
|
||||||
csx/
|
|
||||||
*.build.csdef
|
|
||||||
|
|
||||||
# Microsoft Azure Emulator
|
|
||||||
ecf/
|
|
||||||
rcf/
|
|
||||||
|
|
||||||
# Windows Store app package directories and files
|
|
||||||
AppPackages/
|
|
||||||
BundleArtifacts/
|
|
||||||
Package.StoreAssociation.xml
|
|
||||||
_pkginfo.txt
|
|
||||||
*.appx
|
|
||||||
*.appxbundle
|
|
||||||
*.appxupload
|
|
||||||
|
|
||||||
# Visual Studio cache files
|
|
||||||
# files ending in .cache can be ignored
|
|
||||||
*.[Cc]ache
|
|
||||||
# but keep track of directories ending in .cache
|
|
||||||
!?*.[Cc]ache/
|
|
||||||
|
|
||||||
# Others
|
|
||||||
ClientBin/
|
|
||||||
~$*
|
|
||||||
*~
|
|
||||||
*.dbmdl
|
|
||||||
*.dbproj.schemaview
|
|
||||||
*.jfm
|
|
||||||
*.pfx
|
|
||||||
*.publishsettings
|
|
||||||
orleans.codegen.cs
|
|
||||||
|
|
||||||
# Including strong name files can present a security risk
|
|
||||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
|
||||||
#*.snk
|
|
||||||
|
|
||||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
|
||||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
|
||||||
#bower_components/
|
|
||||||
|
|
||||||
# RIA/Silverlight projects
|
|
||||||
Generated_Code/
|
|
||||||
|
|
||||||
# Backup & report files from converting an old project file
|
|
||||||
# to a newer Visual Studio version. Backup files are not needed,
|
|
||||||
# because we have git ;-)
|
|
||||||
_UpgradeReport_Files/
|
|
||||||
Backup*/
|
|
||||||
UpgradeLog*.XML
|
|
||||||
UpgradeLog*.htm
|
|
||||||
ServiceFabricBackup/
|
|
||||||
*.rptproj.bak
|
|
||||||
|
|
||||||
# SQL Server files
|
|
||||||
*.mdf
|
|
||||||
*.ldf
|
|
||||||
*.ndf
|
|
||||||
|
|
||||||
# Business Intelligence projects
|
|
||||||
*.rdl.data
|
|
||||||
*.bim.layout
|
|
||||||
*.bim_*.settings
|
|
||||||
*.rptproj.rsuser
|
|
||||||
*- [Bb]ackup.rdl
|
|
||||||
*- [Bb]ackup ([0-9]).rdl
|
|
||||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
|
||||||
|
|
||||||
# Microsoft Fakes
|
|
||||||
FakesAssemblies/
|
|
||||||
|
|
||||||
# GhostDoc plugin setting file
|
|
||||||
*.GhostDoc.xml
|
|
||||||
|
|
||||||
# Node.js Tools for Visual Studio
|
|
||||||
.ntvs_analysis.dat
|
|
||||||
node_modules/
|
|
||||||
|
|
||||||
# Visual Studio 6 build log
|
|
||||||
*.plg
|
|
||||||
|
|
||||||
# Visual Studio 6 workspace options file
|
|
||||||
*.opt
|
|
||||||
|
|
||||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
|
||||||
*.vbw
|
|
||||||
|
|
||||||
# Visual Studio LightSwitch build output
|
|
||||||
**/*.HTMLClient/GeneratedArtifacts
|
|
||||||
**/*.DesktopClient/GeneratedArtifacts
|
|
||||||
**/*.DesktopClient/ModelManifest.xml
|
|
||||||
**/*.Server/GeneratedArtifacts
|
|
||||||
**/*.Server/ModelManifest.xml
|
|
||||||
_Pvt_Extensions
|
|
||||||
|
|
||||||
# Paket dependency manager
|
|
||||||
.paket/paket.exe
|
|
||||||
paket-files/
|
|
||||||
|
|
||||||
# FAKE - F# Make
|
|
||||||
.fake/
|
|
||||||
|
|
||||||
# CodeRush personal settings
|
|
||||||
.cr/personal
|
|
||||||
|
|
||||||
# Python Tools for Visual Studio (PTVS)
|
|
||||||
__pycache__/
|
|
||||||
*.pyc
|
|
||||||
|
|
||||||
# Cake - Uncomment if you are using it
|
|
||||||
# tools/**
|
|
||||||
# !tools/packages.config
|
|
||||||
|
|
||||||
# Tabs Studio
|
|
||||||
*.tss
|
|
||||||
|
|
||||||
# Telerik's JustMock configuration file
|
|
||||||
*.jmconfig
|
|
||||||
|
|
||||||
# BizTalk build output
|
|
||||||
*.btp.cs
|
|
||||||
*.btm.cs
|
|
||||||
*.odx.cs
|
|
||||||
*.xsd.cs
|
|
||||||
|
|
||||||
# OpenCover UI analysis results
|
|
||||||
OpenCover/
|
|
||||||
|
|
||||||
# Azure Stream Analytics local run output
|
|
||||||
ASALocalRun/
|
|
||||||
|
|
||||||
# MSBuild Binary and Structured Log
|
|
||||||
*.binlog
|
|
||||||
|
|
||||||
# NVidia Nsight GPU debugger configuration file
|
|
||||||
*.nvuser
|
|
||||||
|
|
||||||
# MFractors (Xamarin productivity tool) working folder
|
|
||||||
.mfractor/
|
|
||||||
|
|
||||||
# Local History for Visual Studio
|
|
||||||
.localhistory/
|
|
||||||
|
|
||||||
# BeatPulse healthcheck temp database
|
|
||||||
healthchecksdb
|
|
||||||
|
|
||||||
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
|
||||||
MigrationBackup/
|
|
||||||
|
|
||||||
# Ionide (cross platform F# VS Code tools) working folder
|
|
||||||
.ionide/
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using Pulumi;
|
|
||||||
using DockerNative = Pulumi.DockerNative;
|
|
||||||
|
|
||||||
return await Deployment.RunAsync(() =>
|
|
||||||
{
|
|
||||||
var myRandomResource = new DockerNative.Random("myRandomResource", new()
|
|
||||||
{
|
|
||||||
Length = 24,
|
|
||||||
});
|
|
||||||
|
|
||||||
return new Dictionary<string, object?>
|
|
||||||
{
|
|
||||||
["output"] =
|
|
||||||
{
|
|
||||||
{ "value", myRandomResource.Result },
|
|
||||||
},
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
name: provider-docker-native
|
|
||||||
runtime: dotnet
|
|
||||||
plugins:
|
|
||||||
providers:
|
|
||||||
- name: docker-native
|
|
||||||
path: ../../bin
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Pulumi" Version="3.*" />
|
|
||||||
<PackageReference Include="Pulumi.DockerNative" Version="0.0.1-alpha.1709848295+3427e611.dirty" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
name: provider-docker-native
|
|
||||||
runtime: go
|
|
||||||
plugins:
|
|
||||||
providers:
|
|
||||||
- name: docker-native
|
|
||||||
path: ../../bin
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
module provider-docker-native
|
|
||||||
|
|
||||||
go 1.20
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.30.0
|
|
||||||
)
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/pulumi/pulumi-docker-native/sdk/go/docker"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
pulumi.Run(func(ctx *pulumi.Context) error {
|
|
||||||
myRandomResource, err := docker.NewRandom(ctx, "myRandomResource", &docker.RandomArgs{
|
|
||||||
Length: pulumi.Int(24),
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
ctx.Export("output", map[string]interface{}{
|
|
||||||
"value": myRandomResource.Result,
|
|
||||||
})
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
}
|
|
||||||
2
examples/nodejs/.gitignore
vendored
2
examples/nodejs/.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
/bin/
|
|
||||||
/node_modules/
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
name: provider-docker-native
|
|
||||||
runtime: nodejs
|
|
||||||
plugins:
|
|
||||||
providers:
|
|
||||||
- name: docker-native
|
|
||||||
path: ../../bin
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import * as pulumi from "@pulumi/pulumi";
|
|
||||||
import * as docker_native from "@pulumi/docker-native";
|
|
||||||
|
|
||||||
const myRandomResource = new docker_native.Random("myRandomResource", {length: 24});
|
|
||||||
export const output = {
|
|
||||||
value: myRandomResource.result,
|
|
||||||
};
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "provider-docker-native",
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/node": "^14"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"typescript": "^4.0.0",
|
|
||||||
"@pulumi/pulumi": "^3.0.0",
|
|
||||||
"@pulumi/docker-native": "0.0.1-alpha.1709848295+3427e611.dirty"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"strict": true,
|
|
||||||
"outDir": "bin",
|
|
||||||
"target": "es2016",
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"sourceMap": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"pretty": true,
|
|
||||||
"noFallthroughCasesInSwitch": true,
|
|
||||||
"noImplicitReturns": true,
|
|
||||||
"forceConsistentCasingInFileNames": true
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"index.ts",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
2
examples/python/.gitignore
vendored
2
examples/python/.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
*.pyc
|
|
||||||
venv/
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
name: provider-docker-native
|
|
||||||
runtime: python
|
|
||||||
plugins:
|
|
||||||
providers:
|
|
||||||
- name: docker-native
|
|
||||||
path: ../../bin
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import pulumi
|
|
||||||
import pulumi_docker_native as docker_native
|
|
||||||
|
|
||||||
my_random_resource = docker_native.Random("myRandomResource", length=24)
|
|
||||||
pulumi.export("output", {
|
|
||||||
"value": my_random_resource.result,
|
|
||||||
})
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
pulumi>=3.0.0,<4.0.0
|
|
||||||
pulumi-docker-native==0.0.1-alpha.1709848295+3427e611.dirty
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
name: provider-docker-native
|
|
||||||
runtime: yaml
|
|
||||||
plugins:
|
|
||||||
providers:
|
|
||||||
- name: docker-native
|
|
||||||
path: ../../bin
|
|
||||||
|
|
||||||
resources:
|
|
||||||
myRandomResource:
|
|
||||||
type: docker-native:Random
|
|
||||||
properties:
|
|
||||||
length: 24
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
output:
|
|
||||||
value: ${myRandomResource.result}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
# YAML Example Program
|
|
||||||
|
|
||||||
Test Pulumi program written in YAML for testing this provider locally.
|
|
||||||
|
|
||||||
Edit this yaml program to test features of your provider locally. You can run this program using the following command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pulumi login
|
|
||||||
pulumi stack init local
|
|
||||||
pulumi up
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that unlike the rest of the auto-generated examples in the ./examples directory, this example is not automatically generated. It is intended to be a place for you to test your provider locally.
|
|
||||||
|
|
||||||
The remaining examples are language specific examples derived from the `make gen_examples` command supported in this provider's Makefile. These examples are automatically generated and should not be edited directly. To regenerate these examples, run `make gen_examples` in the root of this provider's repository.
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
// Copyright 2016-2023, Pulumi Corporation.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
p "github.com/pulumi/pulumi-go-provider"
|
|
||||||
|
|
||||||
xyz "github.com/pulumi/pulumi-docker-native/provider"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Serve the provider against Pulumi's Provider protocol.
|
|
||||||
func main() { p.RunProvider(xyz.Name, xyz.Version, xyz.Provider()) }
|
|
||||||
193
provider/go.mod
193
provider/go.mod
@@ -1,193 +0,0 @@
|
|||||||
module github.com/pulumi/pulumi-docker-native/provider
|
|
||||||
|
|
||||||
go 1.21
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/pulumi/pulumi-go-provider v0.14.1-0.20240301190400-aeddefa8dc54
|
|
||||||
github.com/pulumi/pulumi/pkg/v3 v3.107.0
|
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.107.0
|
|
||||||
)
|
|
||||||
|
|
||||||
require (
|
|
||||||
cloud.google.com/go v0.110.10 // indirect
|
|
||||||
cloud.google.com/go/compute v1.23.3 // indirect
|
|
||||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
|
||||||
cloud.google.com/go/iam v1.1.5 // indirect
|
|
||||||
cloud.google.com/go/kms v1.15.5 // indirect
|
|
||||||
cloud.google.com/go/logging v1.8.1 // indirect
|
|
||||||
cloud.google.com/go/longrunning v0.5.4 // indirect
|
|
||||||
cloud.google.com/go/storage v1.35.1 // indirect
|
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
|
|
||||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect
|
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
|
||||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
|
||||||
github.com/armon/go-metrics v0.4.0 // indirect
|
|
||||||
github.com/armon/go-radix v1.0.0 // indirect
|
|
||||||
github.com/atotto/clipboard v0.1.4 // indirect
|
|
||||||
github.com/aws/aws-sdk-go v1.49.0 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2 v1.24.0 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.26.1 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.12 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/kms v1.27.5 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 // indirect
|
|
||||||
github.com/aws/smithy-go v1.19.0 // indirect
|
|
||||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
|
||||||
github.com/blang/semver v3.5.1+incompatible // indirect
|
|
||||||
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
|
||||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
|
||||||
github.com/charmbracelet/bubbletea v0.24.2 // indirect
|
|
||||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
|
||||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
|
||||||
github.com/cloudflare/circl v1.3.7 // indirect
|
|
||||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
|
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
||||||
github.com/deckarep/golang-set/v2 v2.5.0 // indirect
|
|
||||||
github.com/djherbis/times v1.5.0 // indirect
|
|
||||||
github.com/edsrzf/mmap-go v1.1.0 // indirect
|
|
||||||
github.com/emirpasic/gods v1.18.1 // indirect
|
|
||||||
github.com/fatih/color v1.13.0 // indirect
|
|
||||||
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
|
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
|
||||||
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
|
||||||
github.com/gofrs/uuid v4.3.1+incompatible // indirect
|
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
|
||||||
github.com/golang-jwt/jwt/v5 v5.1.0 // indirect
|
|
||||||
github.com/golang/glog v1.1.2 // indirect
|
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
||||||
github.com/golang/protobuf v1.5.3 // indirect
|
|
||||||
github.com/golang/snappy v0.0.4 // indirect
|
|
||||||
github.com/google/go-querystring v1.1.0 // indirect
|
|
||||||
github.com/google/s2a-go v0.1.7 // indirect
|
|
||||||
github.com/google/uuid v1.4.0 // indirect
|
|
||||||
github.com/google/wire v0.5.0 // indirect
|
|
||||||
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
|
|
||||||
github.com/googleapis/gax-go/v2 v2.12.0 // indirect
|
|
||||||
github.com/gorilla/mux v1.8.0 // indirect
|
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
|
||||||
github.com/hashicorp/go-hclog v1.2.2 // indirect
|
|
||||||
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
|
||||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
|
||||||
github.com/hashicorp/go-plugin v1.4.6 // indirect
|
|
||||||
github.com/hashicorp/go-retryablehttp v0.7.1 // indirect
|
|
||||||
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
||||||
github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect
|
|
||||||
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 // indirect
|
|
||||||
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
|
|
||||||
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
|
|
||||||
github.com/hashicorp/go-uuid v1.0.3 // indirect
|
|
||||||
github.com/hashicorp/go-version v1.6.0 // indirect
|
|
||||||
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
|
||||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
||||||
github.com/hashicorp/hcl/v2 v2.18.0 // indirect
|
|
||||||
github.com/hashicorp/vault/api v1.8.2 // indirect
|
|
||||||
github.com/hashicorp/vault/sdk v0.6.1 // indirect
|
|
||||||
github.com/hashicorp/yamux v0.1.1 // indirect
|
|
||||||
github.com/iancoleman/strcase v0.2.0 // indirect
|
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
|
||||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
|
||||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
|
||||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
|
||||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
|
||||||
github.com/mattn/go-colorable v0.1.12 // indirect
|
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
|
||||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
|
||||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
|
||||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
||||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
|
||||||
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
|
|
||||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
|
||||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
||||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
||||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
|
||||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
|
||||||
github.com/muesli/reflow v0.3.0 // indirect
|
|
||||||
github.com/muesli/termenv v0.15.2 // indirect
|
|
||||||
github.com/natefinch/atomic v1.0.1 // indirect
|
|
||||||
github.com/oklog/run v1.1.0 // indirect
|
|
||||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
|
||||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
|
||||||
github.com/pgavlin/fx v0.1.6 // indirect
|
|
||||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
|
||||||
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
|
||||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
|
||||||
github.com/pkg/term v1.1.0 // indirect
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
|
||||||
github.com/pulumi/esc v0.6.2 // indirect
|
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
|
||||||
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
|
||||||
github.com/ryanuber/go-glob v1.0.0 // indirect
|
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
|
||||||
github.com/segmentio/asm v1.2.0 // indirect
|
|
||||||
github.com/segmentio/encoding v0.3.6 // indirect
|
|
||||||
github.com/sergi/go-diff v1.3.1 // indirect
|
|
||||||
github.com/skeema/knownhosts v1.2.1 // indirect
|
|
||||||
github.com/spf13/afero v1.9.5 // indirect
|
|
||||||
github.com/spf13/cobra v1.7.0 // indirect
|
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
|
||||||
github.com/stretchr/testify v1.8.4 // indirect
|
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
|
||||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
|
||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
|
||||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
|
|
||||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
|
||||||
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
|
||||||
github.com/zclconf/go-cty v1.14.0 // indirect
|
|
||||||
go.opencensus.io v0.24.0 // indirect
|
|
||||||
go.uber.org/atomic v1.11.0 // indirect
|
|
||||||
gocloud.dev v0.36.0 // indirect
|
|
||||||
gocloud.dev/secrets/hashivault v0.27.0 // indirect
|
|
||||||
golang.org/x/crypto v0.17.0 // indirect
|
|
||||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
|
||||||
golang.org/x/mod v0.14.0 // indirect
|
|
||||||
golang.org/x/net v0.19.0 // indirect
|
|
||||||
golang.org/x/oauth2 v0.14.0 // indirect
|
|
||||||
golang.org/x/sync v0.5.0 // indirect
|
|
||||||
golang.org/x/sys v0.15.0 // indirect
|
|
||||||
golang.org/x/term v0.15.0 // indirect
|
|
||||||
golang.org/x/text v0.14.0 // indirect
|
|
||||||
golang.org/x/time v0.4.0 // indirect
|
|
||||||
golang.org/x/tools v0.15.0 // indirect
|
|
||||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
|
||||||
google.golang.org/api v0.151.0 // indirect
|
|
||||||
google.golang.org/appengine v1.6.8 // indirect
|
|
||||||
google.golang.org/genproto v0.0.0-20231120223509-83a465c0220f // indirect
|
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f // indirect
|
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect
|
|
||||||
google.golang.org/grpc v1.59.0 // indirect
|
|
||||||
google.golang.org/protobuf v1.31.0 // indirect
|
|
||||||
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
||||||
lukechampine.com/frand v1.4.2 // indirect
|
|
||||||
)
|
|
||||||
2636
provider/go.sum
2636
provider/go.sum
File diff suppressed because it is too large
Load Diff
@@ -1,111 +0,0 @@
|
|||||||
// Copyright 2016-2023, Pulumi Corporation.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package provider
|
|
||||||
|
|
||||||
import (
|
|
||||||
"math/rand"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
p "github.com/pulumi/pulumi-go-provider"
|
|
||||||
"github.com/pulumi/pulumi-go-provider/infer"
|
|
||||||
"github.com/pulumi/pulumi-go-provider/middleware/schema"
|
|
||||||
gen "github.com/pulumi/pulumi/pkg/v3/codegen/go"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Version is initialized by the Go linker to contain the semver of this build.
|
|
||||||
var Version string
|
|
||||||
|
|
||||||
const Name string = "docker-native" // Needs to match $PACK in Makefile.
|
|
||||||
|
|
||||||
func Provider() p.Provider {
|
|
||||||
// We tell the provider what resources it needs to support.
|
|
||||||
// In this case, a single custom resource.
|
|
||||||
return infer.Provider(infer.Options{
|
|
||||||
Metadata: schema.Metadata{
|
|
||||||
DisplayName: "docker",
|
|
||||||
LanguageMap: map[string]any{
|
|
||||||
"go": gen.GoPackageInfo{
|
|
||||||
Generics: gen.GenericsSettingGenericsOnly,
|
|
||||||
PackageImportAliases: map[string]string{
|
|
||||||
"github.com/pulumi/pulumi-docker-native/sdk/go/docker": "docker",
|
|
||||||
},
|
|
||||||
ImportBasePath: "github.com/pulumi/pulumi-docker-native/sdk/go/docker",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Description: "Description",
|
|
||||||
Keywords: []string{"keywords"},
|
|
||||||
Homepage: "pulumi.com",
|
|
||||||
Publisher: "pulumi",
|
|
||||||
Repository: "https://github.com/pulumi/pulumi-docker-native",
|
|
||||||
PluginDownloadURL: "github.com/pulumi/pulumi-docker-native",
|
|
||||||
},
|
|
||||||
Resources: []infer.InferredResource{
|
|
||||||
infer.Resource[Random, RandomArgs, RandomState](),
|
|
||||||
},
|
|
||||||
ModuleMap: map[tokens.ModuleName]tokens.ModuleName{
|
|
||||||
"provider": "index",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// Each resource has a controlling struct.
|
|
||||||
// Resource behavior is determined by implementing methods on the controlling struct.
|
|
||||||
// The `Create` method is mandatory, but other methods are optional.
|
|
||||||
// - Check: Remap inputs before they are typed.
|
|
||||||
// - Diff: Change how instances of a resource are compared.
|
|
||||||
// - Update: Mutate a resource in place.
|
|
||||||
// - Read: Get the state of a resource from the backing provider.
|
|
||||||
// - Delete: Custom logic when the resource is deleted.
|
|
||||||
// - Annotate: Describe fields and set defaults for a resource.
|
|
||||||
// - WireDependencies: Control how outputs and secrets flows through values.
|
|
||||||
type Random struct{}
|
|
||||||
|
|
||||||
// Each resource has an input struct, defining what arguments it accepts.
|
|
||||||
type RandomArgs struct {
|
|
||||||
// Fields projected into Pulumi must be public and hava a `pulumi:"..."` tag.
|
|
||||||
// The pulumi tag doesn't need to match the field name, but it's generally a
|
|
||||||
// good idea.
|
|
||||||
Length int `pulumi:"length"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Each resource has a state, describing the fields that exist on the created resource.
|
|
||||||
type RandomState struct {
|
|
||||||
// It is generally a good idea to embed args in outputs, but it isn't strictly necessary.
|
|
||||||
RandomArgs
|
|
||||||
// Here we define a required output called result.
|
|
||||||
Result string `pulumi:"result"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// All resources must implement Create at a minimum.
|
|
||||||
func (Random) Create(ctx p.Context, name string, input RandomArgs, preview bool) (string, RandomState, error) {
|
|
||||||
state := RandomState{RandomArgs: input}
|
|
||||||
if preview {
|
|
||||||
return name, state, nil
|
|
||||||
}
|
|
||||||
state.Result = makeRandom(input.Length)
|
|
||||||
return name, state, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func makeRandom(length int) string {
|
|
||||||
seededRand := rand.New(rand.NewSource(time.Now().UnixNano()))
|
|
||||||
charset := []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
|
|
||||||
|
|
||||||
result := make([]rune, length)
|
|
||||||
for i := range result {
|
|
||||||
result[i] = charset[seededRand.Intn(len(charset))]
|
|
||||||
}
|
|
||||||
return string(result)
|
|
||||||
}
|
|
||||||
1
sdk/.gitignore
vendored
1
sdk/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
schema/
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Collections.Immutable;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Pulumi.Serialization;
|
|
||||||
|
|
||||||
namespace Pulumi.DockerNative
|
|
||||||
{
|
|
||||||
[DockerNativeResourceType("pulumi:providers:docker-native")]
|
|
||||||
public partial class Provider : global::Pulumi.ProviderResource
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Create a Provider resource with the given unique name, arguments, and options.
|
|
||||||
/// </summary>
|
|
||||||
///
|
|
||||||
/// <param name="name">The unique name of the resource</param>
|
|
||||||
/// <param name="args">The arguments used to populate this resource's properties</param>
|
|
||||||
/// <param name="options">A bag of options that control this resource's behavior</param>
|
|
||||||
public Provider(string name, ProviderArgs? args = null, CustomResourceOptions? options = null)
|
|
||||||
: base("docker-native", name, args ?? new ProviderArgs(), MakeResourceOptions(options, ""))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
|
|
||||||
{
|
|
||||||
var defaultOptions = new CustomResourceOptions
|
|
||||||
{
|
|
||||||
Version = Utilities.Version,
|
|
||||||
PluginDownloadURL = "github.com/pulumi/pulumi-docker-native",
|
|
||||||
};
|
|
||||||
var merged = CustomResourceOptions.Merge(defaultOptions, options);
|
|
||||||
// Override the ID if one was specified for consistency with other language SDKs.
|
|
||||||
merged.Id = id ?? merged.Id;
|
|
||||||
return merged;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public sealed class ProviderArgs : global::Pulumi.ResourceArgs
|
|
||||||
{
|
|
||||||
public ProviderArgs()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
public static new ProviderArgs Empty => new ProviderArgs();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
|
||||||
<Authors>pulumi</Authors>
|
|
||||||
<Company>pulumi</Company>
|
|
||||||
<Description>Description</Description>
|
|
||||||
<PackageLicenseExpression></PackageLicenseExpression>
|
|
||||||
<PackageProjectUrl>pulumi.com</PackageProjectUrl>
|
|
||||||
<RepositoryUrl>https://github.com/pulumi/pulumi-docker-native</RepositoryUrl>
|
|
||||||
<PackageIcon>logo.png</PackageIcon>
|
|
||||||
|
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
|
||||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
||||||
<NoWarn>1701;1702;1591</NoWarn>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
|
|
||||||
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
|
||||||
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
|
|
||||||
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<EmbeddedResource Include="version.txt" />
|
|
||||||
<None Include="version.txt" Pack="True" PackagePath="content" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<EmbeddedResource Include="pulumi-plugin.json" />
|
|
||||||
<None Include="pulumi-plugin.json" Pack="True" PackagePath="content" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Pulumi" Version="[3.54.1.0,4)" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="logo.png">
|
|
||||||
<Pack>True</Pack>
|
|
||||||
<PackagePath></PackagePath>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Description
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Collections.Immutable;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Pulumi.Serialization;
|
|
||||||
|
|
||||||
namespace Pulumi.DockerNative
|
|
||||||
{
|
|
||||||
[DockerNativeResourceType("docker-native:index:Random")]
|
|
||||||
public partial class Random : global::Pulumi.CustomResource
|
|
||||||
{
|
|
||||||
[Output("length")]
|
|
||||||
public Output<int> Length { get; private set; } = null!;
|
|
||||||
|
|
||||||
[Output("result")]
|
|
||||||
public Output<string> Result { get; private set; } = null!;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Create a Random resource with the given unique name, arguments, and options.
|
|
||||||
/// </summary>
|
|
||||||
///
|
|
||||||
/// <param name="name">The unique name of the resource</param>
|
|
||||||
/// <param name="args">The arguments used to populate this resource's properties</param>
|
|
||||||
/// <param name="options">A bag of options that control this resource's behavior</param>
|
|
||||||
public Random(string name, RandomArgs args, CustomResourceOptions? options = null)
|
|
||||||
: base("docker-native:index:Random", name, args ?? new RandomArgs(), MakeResourceOptions(options, ""))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
private Random(string name, Input<string> id, CustomResourceOptions? options = null)
|
|
||||||
: base("docker-native:index:Random", name, null, MakeResourceOptions(options, id))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
|
|
||||||
{
|
|
||||||
var defaultOptions = new CustomResourceOptions
|
|
||||||
{
|
|
||||||
Version = Utilities.Version,
|
|
||||||
PluginDownloadURL = "github.com/pulumi/pulumi-docker-native",
|
|
||||||
};
|
|
||||||
var merged = CustomResourceOptions.Merge(defaultOptions, options);
|
|
||||||
// Override the ID if one was specified for consistency with other language SDKs.
|
|
||||||
merged.Id = id ?? merged.Id;
|
|
||||||
return merged;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Get an existing Random resource's state with the given name, ID, and optional extra
|
|
||||||
/// properties used to qualify the lookup.
|
|
||||||
/// </summary>
|
|
||||||
///
|
|
||||||
/// <param name="name">The unique name of the resulting resource.</param>
|
|
||||||
/// <param name="id">The unique provider ID of the resource to lookup.</param>
|
|
||||||
/// <param name="options">A bag of options that control this resource's behavior</param>
|
|
||||||
public static Random Get(string name, Input<string> id, CustomResourceOptions? options = null)
|
|
||||||
{
|
|
||||||
return new Random(name, id, options);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public sealed class RandomArgs : global::Pulumi.ResourceArgs
|
|
||||||
{
|
|
||||||
[Input("length", required: true)]
|
|
||||||
public Input<int> Length { get; set; } = null!;
|
|
||||||
|
|
||||||
public RandomArgs()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
public static new RandomArgs Empty => new RandomArgs();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
namespace Pulumi.DockerNative
|
|
||||||
{
|
|
||||||
static class Utilities
|
|
||||||
{
|
|
||||||
public static string? GetEnv(params string[] names)
|
|
||||||
{
|
|
||||||
foreach (var n in names)
|
|
||||||
{
|
|
||||||
var value = global::System.Environment.GetEnvironmentVariable(n);
|
|
||||||
if (value != null)
|
|
||||||
{
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
static string[] trueValues = { "1", "t", "T", "true", "TRUE", "True" };
|
|
||||||
static string[] falseValues = { "0", "f", "F", "false", "FALSE", "False" };
|
|
||||||
public static bool? GetEnvBoolean(params string[] names)
|
|
||||||
{
|
|
||||||
var s = GetEnv(names);
|
|
||||||
if (s != null)
|
|
||||||
{
|
|
||||||
if (global::System.Array.IndexOf(trueValues, s) != -1)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (global::System.Array.IndexOf(falseValues, s) != -1)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int? GetEnvInt32(params string[] names) => int.TryParse(GetEnv(names), out int v) ? (int?)v : null;
|
|
||||||
|
|
||||||
public static double? GetEnvDouble(params string[] names) => double.TryParse(GetEnv(names), out double v) ? (double?)v : null;
|
|
||||||
|
|
||||||
[global::System.Obsolete("Please use WithDefaults instead")]
|
|
||||||
public static global::Pulumi.InvokeOptions WithVersion(this global::Pulumi.InvokeOptions? options)
|
|
||||||
{
|
|
||||||
var dst = options ?? new global::Pulumi.InvokeOptions{};
|
|
||||||
dst.Version = options?.Version ?? Version;
|
|
||||||
return dst;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static global::Pulumi.InvokeOptions WithDefaults(this global::Pulumi.InvokeOptions? src)
|
|
||||||
{
|
|
||||||
var dst = src ?? new global::Pulumi.InvokeOptions{};
|
|
||||||
dst.Version = src?.Version ?? Version;
|
|
||||||
dst.PluginDownloadURL = src?.PluginDownloadURL ?? "github.com/pulumi/pulumi-docker-native";
|
|
||||||
return dst;
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly static string version;
|
|
||||||
public static string Version => version;
|
|
||||||
|
|
||||||
static Utilities()
|
|
||||||
{
|
|
||||||
var assembly = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(Utilities)).Assembly;
|
|
||||||
using var stream = assembly.GetManifestResourceStream("Pulumi.DockerNative.version.txt");
|
|
||||||
using var reader = new global::System.IO.StreamReader(stream ?? throw new global::System.NotSupportedException("Missing embedded version.txt file"));
|
|
||||||
version = reader.ReadToEnd().Trim();
|
|
||||||
var parts = version.Split("\n");
|
|
||||||
if (parts.Length == 2)
|
|
||||||
{
|
|
||||||
// The first part is the provider name.
|
|
||||||
version = parts[1].Trim();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal sealed class DockerNativeResourceTypeAttribute : global::Pulumi.ResourceTypeAttribute
|
|
||||||
{
|
|
||||||
public DockerNativeResourceTypeAttribute(string type) : base(type, Utilities.Version)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 KiB |
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"resource": true,
|
|
||||||
"name": "docker-native",
|
|
||||||
"server": "github.com/pulumi/pulumi-docker-native"
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
0.0.1-alpha.1709848295+3427e611.dirty
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
// Description
|
|
||||||
package docker
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"resource": true,
|
|
||||||
"name": "docker-native",
|
|
||||||
"server": "github.com/pulumi/pulumi-docker-native"
|
|
||||||
}
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
|
||||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
package docker
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"reflect"
|
|
||||||
|
|
||||||
"errors"
|
|
||||||
"github.com/pulumi/pulumi-docker-native/sdk/go/docker/internal"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Random struct {
|
|
||||||
pulumi.CustomResourceState
|
|
||||||
|
|
||||||
Length pulumix.Output[int] `pulumi:"length"`
|
|
||||||
Result pulumix.Output[string] `pulumi:"result"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewRandom registers a new resource with the given unique name, arguments, and options.
|
|
||||||
func NewRandom(ctx *pulumi.Context,
|
|
||||||
name string, args *RandomArgs, opts ...pulumi.ResourceOption) (*Random, error) {
|
|
||||||
if args == nil {
|
|
||||||
return nil, errors.New("missing one or more required arguments")
|
|
||||||
}
|
|
||||||
|
|
||||||
if args.Length == nil {
|
|
||||||
return nil, errors.New("invalid value for required argument 'Length'")
|
|
||||||
}
|
|
||||||
opts = internal.PkgResourceDefaultOpts(opts)
|
|
||||||
var resource Random
|
|
||||||
err := ctx.RegisterResource("docker-native:index:Random", name, args, &resource, opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &resource, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetRandom gets an existing Random resource's state with the given name, ID, and optional
|
|
||||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
|
||||||
func GetRandom(ctx *pulumi.Context,
|
|
||||||
name string, id pulumi.IDInput, state *RandomState, opts ...pulumi.ResourceOption) (*Random, error) {
|
|
||||||
var resource Random
|
|
||||||
err := ctx.ReadResource("docker-native:index:Random", name, id, state, &resource, opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &resource, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Input properties used for looking up and filtering Random resources.
|
|
||||||
type randomState struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
type RandomState struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (RandomState) ElementType() reflect.Type {
|
|
||||||
return reflect.TypeOf((*randomState)(nil)).Elem()
|
|
||||||
}
|
|
||||||
|
|
||||||
type randomArgs struct {
|
|
||||||
Length int `pulumi:"length"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// The set of arguments for constructing a Random resource.
|
|
||||||
type RandomArgs struct {
|
|
||||||
Length pulumix.Input[int]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (RandomArgs) ElementType() reflect.Type {
|
|
||||||
return reflect.TypeOf((*randomArgs)(nil)).Elem()
|
|
||||||
}
|
|
||||||
|
|
||||||
type RandomOutput struct{ *pulumi.OutputState }
|
|
||||||
|
|
||||||
func (RandomOutput) ElementType() reflect.Type {
|
|
||||||
return reflect.TypeOf((*Random)(nil)).Elem()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (o RandomOutput) ToRandomOutput() RandomOutput {
|
|
||||||
return o
|
|
||||||
}
|
|
||||||
|
|
||||||
func (o RandomOutput) ToRandomOutputWithContext(ctx context.Context) RandomOutput {
|
|
||||||
return o
|
|
||||||
}
|
|
||||||
|
|
||||||
func (o RandomOutput) ToOutput(ctx context.Context) pulumix.Output[Random] {
|
|
||||||
return pulumix.Output[Random]{
|
|
||||||
OutputState: o.OutputState,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (o RandomOutput) Length() pulumix.Output[int] {
|
|
||||||
value := pulumix.Apply[Random](o, func(v Random) pulumix.Output[int] { return v.Length })
|
|
||||||
return pulumix.Flatten[int, pulumix.Output[int]](value)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (o RandomOutput) Result() pulumix.Output[string] {
|
|
||||||
value := pulumix.Apply[Random](o, func(v Random) pulumix.Output[string] { return v.Result })
|
|
||||||
return pulumix.Flatten[string, pulumix.Output[string]](value)
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
pulumi.RegisterOutputType(RandomOutput{})
|
|
||||||
}
|
|
||||||
28
sdk/go/dockerbuild/config/config.go
Normal file
28
sdk/go/dockerbuild/config/config.go
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ = internal.GetEnvOrDefault
|
||||||
|
|
||||||
|
// The build daemon's address.
|
||||||
|
func GetHost(ctx *pulumi.Context) string {
|
||||||
|
v, err := config.Try(ctx, "docker-build:host")
|
||||||
|
if err == nil {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
var value string
|
||||||
|
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||||
|
value = d.(string)
|
||||||
|
}
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
func GetRegistries(ctx *pulumi.Context) string {
|
||||||
|
return config.Get(ctx, "docker-build:registries")
|
||||||
|
}
|
||||||
2
sdk/go/dockerbuild/doc.go
Normal file
2
sdk/go/dockerbuild/doc.go
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// A Pulumi provider for building modern Docker images with buildx and BuildKit.
|
||||||
|
package dockerbuild
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
module github.com/pulumi/pulumi-docker-native/sdk
|
module github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild
|
||||||
|
|
||||||
go 1.21
|
go 1.21.7
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/blang/semver v3.5.1+incompatible
|
github.com/blang/semver v3.5.1+incompatible
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.108.1
|
github.com/pulumi/pulumi/sdk/v3 v3.117.1-0.20240525040238-ee831fc5b644
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
dario.cat/mergo v1.0.0 // indirect
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
github.com/ProtonMail/go-crypto v1.0.0 // indirect
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
github.com/agext/levenshtein v1.2.3 // indirect
|
||||||
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
|
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||||
github.com/atotto/clipboard v0.1.4 // indirect
|
github.com/atotto/clipboard v0.1.4 // indirect
|
||||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
||||||
@@ -21,27 +21,29 @@ require (
|
|||||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
||||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||||
github.com/cloudflare/circl v1.3.7 // indirect
|
github.com/cloudflare/circl v1.3.7 // indirect
|
||||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
|
github.com/containerd/console v1.0.4 // indirect
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
||||||
github.com/djherbis/times v1.5.0 // indirect
|
github.com/djherbis/times v1.5.0 // indirect
|
||||||
github.com/emirpasic/gods v1.18.1 // indirect
|
github.com/emirpasic/gods v1.18.1 // indirect
|
||||||
|
github.com/fatih/color v1.16.0 // indirect
|
||||||
|
github.com/frankban/quicktest v1.14.6 // indirect
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/golang/glog v1.1.0 // indirect
|
github.com/golang/glog v1.2.0 // indirect
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||||
github.com/golang/protobuf v1.5.3 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
github.com/google/uuid v1.3.0 // indirect
|
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||||
github.com/hashicorp/hcl/v2 v2.17.0 // indirect
|
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
github.com/mattn/go-localereader v0.0.1 // indirect
|
||||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
github.com/mattn/go-runewidth v0.0.15 // indirect
|
||||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||||
@@ -50,6 +52,7 @@ require (
|
|||||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||||
github.com/muesli/reflow v0.3.0 // indirect
|
github.com/muesli/reflow v0.3.0 // indirect
|
||||||
github.com/muesli/termenv v0.15.2 // indirect
|
github.com/muesli/termenv v0.15.2 // indirect
|
||||||
|
github.com/onsi/gomega v1.31.1 // indirect
|
||||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||||
github.com/pgavlin/fx v0.1.6 // indirect
|
github.com/pgavlin/fx v0.1.6 // indirect
|
||||||
@@ -59,34 +62,36 @@ require (
|
|||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||||
github.com/pulumi/esc v0.6.2 // indirect
|
github.com/pulumi/esc v0.6.2 // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.4 // indirect
|
||||||
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||||
github.com/sergi/go-diff v1.3.1 // indirect
|
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
||||||
github.com/skeema/knownhosts v1.2.1 // indirect
|
github.com/skeema/knownhosts v1.2.2 // indirect
|
||||||
github.com/spf13/cobra v1.7.0 // indirect
|
github.com/spf13/cast v1.5.0 // indirect
|
||||||
|
github.com/spf13/cobra v1.8.0 // indirect
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
github.com/stretchr/objx v0.2.0 // indirect
|
github.com/stretchr/objx v0.5.2 // indirect
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
github.com/zclconf/go-cty v1.13.2 // indirect
|
github.com/zclconf/go-cty v1.14.1 // indirect
|
||||||
go.uber.org/atomic v1.9.0 // indirect
|
go.uber.org/atomic v1.10.0 // indirect
|
||||||
golang.org/x/crypto v0.17.0 // indirect
|
golang.org/x/crypto v0.23.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
||||||
golang.org/x/mod v0.14.0 // indirect
|
golang.org/x/mod v0.16.0 // indirect
|
||||||
golang.org/x/net v0.19.0 // indirect
|
golang.org/x/net v0.25.0 // indirect
|
||||||
golang.org/x/sync v0.5.0 // indirect
|
golang.org/x/sync v0.6.0 // indirect
|
||||||
golang.org/x/sys v0.15.0 // indirect
|
golang.org/x/sys v0.20.0 // indirect
|
||||||
golang.org/x/term v0.15.0 // indirect
|
golang.org/x/term v0.20.0 // indirect
|
||||||
golang.org/x/text v0.14.0 // indirect
|
golang.org/x/text v0.15.0 // indirect
|
||||||
golang.org/x/tools v0.15.0 // indirect
|
golang.org/x/tools v0.19.0 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||||
google.golang.org/grpc v1.57.1 // indirect
|
google.golang.org/grpc v1.63.2 // indirect
|
||||||
google.golang.org/protobuf v1.31.0 // indirect
|
google.golang.org/protobuf v1.33.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
lukechampine.com/frand v1.4.2 // indirect
|
lukechampine.com/frand v1.4.2 // indirect
|
||||||
|
pgregory.net/rapid v1.1.0 // indirect
|
||||||
)
|
)
|
||||||
@@ -5,16 +5,16 @@ github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXY
|
|||||||
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
||||||
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
|
github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
|
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
|
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
|
||||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||||
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
|
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
|
||||||
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
|
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
|
||||||
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
|
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
|
||||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
||||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
||||||
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
|
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
|
||||||
@@ -35,9 +35,10 @@ github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuP
|
|||||||
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
|
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
|
||||||
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
|
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
|
||||||
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
|
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
|
||||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY=
|
github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro=
|
||||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
|
github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
@@ -50,33 +51,34 @@ github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/El
|
|||||||
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||||
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||||
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
||||||
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
|
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
||||||
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
|
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||||
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||||
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
|
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||||
|
github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
|
||||||
|
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
||||||
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
||||||
github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
|
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
|
||||||
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
|
||||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
|
github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=
|
||||||
github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
|
github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
||||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
||||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
|
||||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||||
@@ -84,8 +86,8 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
|
|||||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||||
github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY=
|
github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI=
|
||||||
github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4=
|
github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||||
@@ -105,12 +107,13 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
|||||||
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
|
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
|
||||||
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||||
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||||
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
|
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||||
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
|
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||||
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
||||||
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||||
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||||
|
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
|
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
|
||||||
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
|
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
|
||||||
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||||
@@ -129,8 +132,8 @@ github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s=
|
|||||||
github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
|
github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
|
||||||
github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo=
|
github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo=
|
||||||
github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
|
github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
|
||||||
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
|
github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo=
|
||||||
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
|
github.com/onsi/gomega v1.31.1/go.mod h1:y40C95dwAD1Nz36SsEnxvfFe8FFfNxzI5eJ0EYGyAy0=
|
||||||
github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0=
|
github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0=
|
||||||
github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc=
|
github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc=
|
||||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||||
@@ -140,6 +143,7 @@ github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
|
|||||||
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
||||||
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
|
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
|
||||||
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
|
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
|
||||||
|
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk=
|
github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk=
|
||||||
@@ -150,38 +154,41 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435
|
|||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||||
github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw=
|
github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw=
|
||||||
github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k=
|
github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.108.1 h1:5idjc3JmzToYVizRPbFyjJ5UU4AbExd04pcSP9AhPEc=
|
github.com/pulumi/pulumi/sdk/v3 v3.117.1-0.20240525040238-ee831fc5b644 h1:bnW+nsI2xj6F5IRcCqpxd+XO7jfj5UFOWaJ5/h3rfZc=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.108.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg=
|
github.com/pulumi/pulumi/sdk/v3 v3.117.1-0.20240525040238-ee831fc5b644/go.mod h1:kNea72+FQk82OjZ3yEP4dl6nbAl2ngE8PDBc0iFAaHg=
|
||||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||||
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
|
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||||
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
|
||||||
|
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
||||||
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
|
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
||||||
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
|
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
||||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
|
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
|
||||||
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||||
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
|
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
||||||
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
|
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
||||||
|
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
||||||
|
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
||||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
|
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
|
||||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
|
||||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
|
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
|
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68=
|
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68=
|
||||||
@@ -195,10 +202,10 @@ github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI
|
|||||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||||
github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0=
|
github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA=
|
||||||
github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0=
|
github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||||
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
|
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
|
||||||
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
@@ -206,18 +213,18 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
|||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
|
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
|
||||||
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
|
||||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
|
||||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||||
golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
|
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
|
||||||
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
@@ -229,15 +236,15 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
|
|||||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||||
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
|
||||||
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
|
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
|
||||||
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
@@ -253,20 +260,21 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
|
||||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||||
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
|
||||||
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
@@ -274,8 +282,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
|||||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
|
||||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
@@ -284,20 +292,18 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
|
|||||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||||
golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=
|
golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
|
||||||
golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk=
|
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 h1:8EeVk1VKMD+GD/neyEHGmz7pFblqPjHoi+PGQIlLx2s=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
|
||||||
google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg=
|
google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
|
||||||
google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
|
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
|
||||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
|
|
||||||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
@@ -312,5 +318,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
|||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw=
|
lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw=
|
||||||
lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s=
|
lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s=
|
||||||
pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA=
|
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
|
||||||
pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
|
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
|
||||||
1363
sdk/go/dockerbuild/image.go
Normal file
1363
sdk/go/dockerbuild/image.go
Normal file
File diff suppressed because it is too large
Load Diff
307
sdk/go/dockerbuild/index.go
Normal file
307
sdk/go/dockerbuild/index.go
Normal file
@@ -0,0 +1,307 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package dockerbuild
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
|
"errors"
|
||||||
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||||
|
)
|
||||||
|
|
||||||
|
// A wrapper around `docker buildx imagetools create` to create an index
|
||||||
|
// (or manifest list) referencing one or more existing images.
|
||||||
|
//
|
||||||
|
// In most cases you do not need an `Index` to build a multi-platform
|
||||||
|
// image -- specifying multiple platforms on the `Image` will handle this
|
||||||
|
// for you automatically.
|
||||||
|
//
|
||||||
|
// However, as of April 2024, building multi-platform images _with
|
||||||
|
// caching_ will only export a cache for one platform at a time (see [this
|
||||||
|
// discussion](https://github.com/docker/buildx/discussions/1382) for more
|
||||||
|
// details).
|
||||||
|
//
|
||||||
|
// Therefore this resource can be helpful if you are building
|
||||||
|
// multi-platform images with caching: each platform can be built and
|
||||||
|
// cached separately, and an `Index` can join them all together. An
|
||||||
|
// example of this is shown below.
|
||||||
|
//
|
||||||
|
// This resource creates an OCI image index or a Docker manifest list
|
||||||
|
// depending on the media types of the source images.
|
||||||
|
//
|
||||||
|
// ## Example Usage
|
||||||
|
// ### Multi-platform registry caching
|
||||||
|
// ```go
|
||||||
|
// package main
|
||||||
|
//
|
||||||
|
// import (
|
||||||
|
//
|
||||||
|
// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||||
|
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
//
|
||||||
|
// )
|
||||||
|
//
|
||||||
|
// func main() {
|
||||||
|
// pulumi.Run(func(ctx *pulumi.Context) error {
|
||||||
|
// amd64, err := dockerbuild.NewImage(ctx, "amd64", &dockerbuild.ImageArgs{
|
||||||
|
// CacheFrom: dockerbuild.CacheFromArray{
|
||||||
|
// &dockerbuild.CacheFromArgs{
|
||||||
|
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// CacheTo: dockerbuild.CacheToArray{
|
||||||
|
// &dockerbuild.CacheToArgs{
|
||||||
|
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||||
|
// Mode: dockerbuild.CacheModeMax,
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Context: &dockerbuild.BuildContextArgs{
|
||||||
|
// Location: pulumi.String("app"),
|
||||||
|
// },
|
||||||
|
// Platforms: docker - build.PlatformArray{
|
||||||
|
// dockerbuild.Platform_Linux_amd64,
|
||||||
|
// },
|
||||||
|
// Tags: pulumi.StringArray{
|
||||||
|
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-amd64"),
|
||||||
|
// },
|
||||||
|
// })
|
||||||
|
// if err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// arm64, err := dockerbuild.NewImage(ctx, "arm64", &dockerbuild.ImageArgs{
|
||||||
|
// CacheFrom: dockerbuild.CacheFromArray{
|
||||||
|
// &dockerbuild.CacheFromArgs{
|
||||||
|
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// CacheTo: dockerbuild.CacheToArray{
|
||||||
|
// &dockerbuild.CacheToArgs{
|
||||||
|
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||||
|
// Mode: dockerbuild.CacheModeMax,
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Context: &dockerbuild.BuildContextArgs{
|
||||||
|
// Location: pulumi.String("app"),
|
||||||
|
// },
|
||||||
|
// Platforms: docker - build.PlatformArray{
|
||||||
|
// dockerbuild.Platform_Linux_arm64,
|
||||||
|
// },
|
||||||
|
// Tags: pulumi.StringArray{
|
||||||
|
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-arm64"),
|
||||||
|
// },
|
||||||
|
// })
|
||||||
|
// if err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// index, err := dockerbuild.NewIndex(ctx, "index", &dockerbuild.IndexArgs{
|
||||||
|
// Sources: pulumi.StringArray{
|
||||||
|
// amd64.Ref,
|
||||||
|
// arm64.Ref,
|
||||||
|
// },
|
||||||
|
// Tag: pulumi.String("docker.io/pulumi/pulumi:3.107.0"),
|
||||||
|
// })
|
||||||
|
// if err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// ctx.Export("ref", index.Ref)
|
||||||
|
// return nil
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// ```
|
||||||
|
type Index struct {
|
||||||
|
pulumi.CustomResourceState
|
||||||
|
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
Push pulumi.BoolPtrOutput `pulumi:"push"`
|
||||||
|
// The pushed tag with digest.
|
||||||
|
//
|
||||||
|
// Identical to the tag if the index was not pushed.
|
||||||
|
Ref pulumi.StringOutput `pulumi:"ref"`
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
Registry RegistryPtrOutput `pulumi:"registry"`
|
||||||
|
// Existing images to include in the index.
|
||||||
|
Sources pulumi.StringArrayOutput `pulumi:"sources"`
|
||||||
|
// The tag to apply to the index.
|
||||||
|
Tag pulumi.StringOutput `pulumi:"tag"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewIndex registers a new resource with the given unique name, arguments, and options.
|
||||||
|
func NewIndex(ctx *pulumi.Context,
|
||||||
|
name string, args *IndexArgs, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||||
|
if args == nil {
|
||||||
|
return nil, errors.New("missing one or more required arguments")
|
||||||
|
}
|
||||||
|
|
||||||
|
if args.Sources == nil {
|
||||||
|
return nil, errors.New("invalid value for required argument 'Sources'")
|
||||||
|
}
|
||||||
|
if args.Tag == nil {
|
||||||
|
return nil, errors.New("invalid value for required argument 'Tag'")
|
||||||
|
}
|
||||||
|
if args.Push == nil {
|
||||||
|
args.Push = pulumi.BoolPtr(true)
|
||||||
|
}
|
||||||
|
opts = internal.PkgResourceDefaultOpts(opts)
|
||||||
|
var resource Index
|
||||||
|
err := ctx.RegisterResource("docker-build:index:Index", name, args, &resource, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &resource, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIndex gets an existing Index resource's state with the given name, ID, and optional
|
||||||
|
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||||
|
func GetIndex(ctx *pulumi.Context,
|
||||||
|
name string, id pulumi.IDInput, state *IndexState, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||||
|
var resource Index
|
||||||
|
err := ctx.ReadResource("docker-build:index:Index", name, id, state, &resource, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &resource, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Input properties used for looking up and filtering Index resources.
|
||||||
|
type indexState struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type IndexState struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IndexState) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*indexState)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
type indexArgs struct {
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
Push *bool `pulumi:"push"`
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
Registry *Registry `pulumi:"registry"`
|
||||||
|
// Existing images to include in the index.
|
||||||
|
Sources []string `pulumi:"sources"`
|
||||||
|
// The tag to apply to the index.
|
||||||
|
Tag string `pulumi:"tag"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// The set of arguments for constructing a Index resource.
|
||||||
|
type IndexArgs struct {
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
Push pulumi.BoolPtrInput
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
Registry RegistryPtrInput
|
||||||
|
// Existing images to include in the index.
|
||||||
|
Sources pulumi.StringArrayInput
|
||||||
|
// The tag to apply to the index.
|
||||||
|
Tag pulumi.StringInput
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IndexArgs) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*indexArgs)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
type IndexInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToIndexOutput() IndexOutput
|
||||||
|
ToIndexOutputWithContext(ctx context.Context) IndexOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Index) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**Index)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *Index) ToIndexOutput() IndexOutput {
|
||||||
|
return i.ToIndexOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *Index) ToIndexOutputWithContext(ctx context.Context) IndexOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, i).(IndexOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *Index) ToOutput(ctx context.Context) pulumix.Output[*Index] {
|
||||||
|
return pulumix.Output[*Index]{
|
||||||
|
OutputState: i.ToIndexOutputWithContext(ctx).OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type IndexOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (IndexOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**Index)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o IndexOutput) ToIndexOutput() IndexOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o IndexOutput) ToIndexOutputWithContext(ctx context.Context) IndexOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o IndexOutput) ToOutput(ctx context.Context) pulumix.Output[*Index] {
|
||||||
|
return pulumix.Output[*Index]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
func (o IndexOutput) Push() pulumi.BoolPtrOutput {
|
||||||
|
return o.ApplyT(func(v *Index) pulumi.BoolPtrOutput { return v.Push }).(pulumi.BoolPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// The pushed tag with digest.
|
||||||
|
//
|
||||||
|
// Identical to the tag if the index was not pushed.
|
||||||
|
func (o IndexOutput) Ref() pulumi.StringOutput {
|
||||||
|
return o.ApplyT(func(v *Index) pulumi.StringOutput { return v.Ref }).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
func (o IndexOutput) Registry() RegistryPtrOutput {
|
||||||
|
return o.ApplyT(func(v *Index) RegistryPtrOutput { return v.Registry }).(RegistryPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Existing images to include in the index.
|
||||||
|
func (o IndexOutput) Sources() pulumi.StringArrayOutput {
|
||||||
|
return o.ApplyT(func(v *Index) pulumi.StringArrayOutput { return v.Sources }).(pulumi.StringArrayOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// The tag to apply to the index.
|
||||||
|
func (o IndexOutput) Tag() pulumi.StringOutput {
|
||||||
|
return o.ApplyT(func(v *Index) pulumi.StringOutput { return v.Tag }).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*IndexInput)(nil)).Elem(), &Index{})
|
||||||
|
pulumi.RegisterOutputType(IndexOutput{})
|
||||||
|
}
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
package docker
|
package dockerbuild
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/blang/semver"
|
"github.com/blang/semver"
|
||||||
"github.com/pulumi/pulumi-docker-native/sdk/go/docker/internal"
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -21,8 +21,10 @@ func (m *module) Version() semver.Version {
|
|||||||
|
|
||||||
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
||||||
switch typ {
|
switch typ {
|
||||||
case "docker-native:index:Random":
|
case "docker-build:index:Image":
|
||||||
r = &Random{}
|
r = &Image{}
|
||||||
|
case "docker-build:index:Index":
|
||||||
|
r = &Index{}
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
||||||
}
|
}
|
||||||
@@ -40,7 +42,7 @@ func (p *pkg) Version() semver.Version {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) {
|
func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) {
|
||||||
if typ != "pulumi:providers:docker-native" {
|
if typ != "pulumi:providers:docker-build" {
|
||||||
return nil, fmt.Errorf("unknown provider type: %s", typ)
|
return nil, fmt.Errorf("unknown provider type: %s", typ)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,12 +57,12 @@ func init() {
|
|||||||
version = semver.Version{Major: 1}
|
version = semver.Version{Major: 1}
|
||||||
}
|
}
|
||||||
pulumi.RegisterResourceModule(
|
pulumi.RegisterResourceModule(
|
||||||
"docker-native",
|
"docker-build",
|
||||||
"index",
|
"index",
|
||||||
&module{version},
|
&module{version},
|
||||||
)
|
)
|
||||||
pulumi.RegisterResourcePackage(
|
pulumi.RegisterResourcePackage(
|
||||||
"docker-native",
|
"docker-build",
|
||||||
&pkg{version},
|
&pkg{version},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -75,7 +75,7 @@ func PkgVersion() (semver.Version, error) {
|
|||||||
}
|
}
|
||||||
type sentinal struct{}
|
type sentinal struct{}
|
||||||
pkgPath := reflect.TypeOf(sentinal{}).PkgPath()
|
pkgPath := reflect.TypeOf(sentinal{}).PkgPath()
|
||||||
re := regexp.MustCompile("^.*/pulumi-docker-native/sdk(/v\\d+)?")
|
re := regexp.MustCompile("^.*/pulumi-docker-build/sdk(/v\\d+)?")
|
||||||
if match := re.FindStringSubmatch(pkgPath); match != nil {
|
if match := re.FindStringSubmatch(pkgPath); match != nil {
|
||||||
vStr := match[1]
|
vStr := match[1]
|
||||||
if len(vStr) == 0 { // If the version capture group was empty, default to v1.
|
if len(vStr) == 0 { // If the version capture group was empty, default to v1.
|
||||||
@@ -164,8 +164,8 @@ func callPlainInner(
|
|||||||
// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource.
|
// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource.
|
||||||
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
|
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
|
||||||
defaults := []pulumi.ResourceOption{}
|
defaults := []pulumi.ResourceOption{}
|
||||||
defaults = append(defaults, pulumi.PluginDownloadURL("github.com/pulumi/pulumi-docker-native"))
|
|
||||||
version := SdkVersion
|
version := semver.MustParse("0.0.3")
|
||||||
if !version.Equals(semver.Version{}) {
|
if !version.Equals(semver.Version{}) {
|
||||||
defaults = append(defaults, pulumi.Version(version.String()))
|
defaults = append(defaults, pulumi.Version(version.String()))
|
||||||
}
|
}
|
||||||
@@ -175,8 +175,8 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio
|
|||||||
// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke.
|
// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke.
|
||||||
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
|
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
|
||||||
defaults := []pulumi.InvokeOption{}
|
defaults := []pulumi.InvokeOption{}
|
||||||
defaults = append(defaults, pulumi.PluginDownloadURL("github.com/pulumi/pulumi-docker-native"))
|
|
||||||
version := SdkVersion
|
version := semver.MustParse("0.0.3")
|
||||||
if !version.Equals(semver.Version{}) {
|
if !version.Equals(semver.Version{}) {
|
||||||
defaults = append(defaults, pulumi.Version(version.String()))
|
defaults = append(defaults, pulumi.Version(version.String()))
|
||||||
}
|
}
|
||||||
113
sdk/go/dockerbuild/provider.go
Normal file
113
sdk/go/dockerbuild/provider.go
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package dockerbuild
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Provider struct {
|
||||||
|
pulumi.ProviderResourceState
|
||||||
|
|
||||||
|
// The build daemon's address.
|
||||||
|
Host pulumi.StringPtrOutput `pulumi:"host"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewProvider registers a new resource with the given unique name, arguments, and options.
|
||||||
|
func NewProvider(ctx *pulumi.Context,
|
||||||
|
name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) {
|
||||||
|
if args == nil {
|
||||||
|
args = &ProviderArgs{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if args.Host == nil {
|
||||||
|
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||||
|
args.Host = pulumi.StringPtr(d.(string))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
opts = internal.PkgResourceDefaultOpts(opts)
|
||||||
|
var resource Provider
|
||||||
|
err := ctx.RegisterResource("pulumi:providers:docker-build", name, args, &resource, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &resource, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type providerArgs struct {
|
||||||
|
// The build daemon's address.
|
||||||
|
Host *string `pulumi:"host"`
|
||||||
|
Registries []Registry `pulumi:"registries"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// The set of arguments for constructing a Provider resource.
|
||||||
|
type ProviderArgs struct {
|
||||||
|
// The build daemon's address.
|
||||||
|
Host pulumi.StringPtrInput
|
||||||
|
Registries RegistryArrayInput
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ProviderArgs) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*providerArgs)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
type ProviderInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToProviderOutput() ProviderOutput
|
||||||
|
ToProviderOutputWithContext(ctx context.Context) ProviderOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Provider) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**Provider)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *Provider) ToProviderOutput() ProviderOutput {
|
||||||
|
return i.ToProviderOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i *Provider) ToOutput(ctx context.Context) pulumix.Output[*Provider] {
|
||||||
|
return pulumix.Output[*Provider]{
|
||||||
|
OutputState: i.ToProviderOutputWithContext(ctx).OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type ProviderOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (ProviderOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**Provider)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o ProviderOutput) ToProviderOutput() ProviderOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o ProviderOutput) ToOutput(ctx context.Context) pulumix.Output[*Provider] {
|
||||||
|
return pulumix.Output[*Provider]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// The build daemon's address.
|
||||||
|
func (o ProviderOutput) Host() pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Host }).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{})
|
||||||
|
pulumi.RegisterOutputType(ProviderOutput{})
|
||||||
|
}
|
||||||
5
sdk/go/dockerbuild/pulumi-plugin.json
Normal file
5
sdk/go/dockerbuild/pulumi-plugin.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"resource": true,
|
||||||
|
"name": "docker-build",
|
||||||
|
"version": "0.0.3"
|
||||||
|
}
|
||||||
886
sdk/go/dockerbuild/pulumiEnums.go
Normal file
886
sdk/go/dockerbuild/pulumiEnums.go
Normal file
@@ -0,0 +1,886 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package dockerbuild
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CacheMode string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Only layers that are exported into the resulting image are cached.
|
||||||
|
CacheModeMin = CacheMode("min")
|
||||||
|
// All layers are cached, even those of intermediate steps.
|
||||||
|
CacheModeMax = CacheMode("max")
|
||||||
|
)
|
||||||
|
|
||||||
|
func (CacheMode) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*CacheMode)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToCacheModeOutput() CacheModeOutput {
|
||||||
|
return pulumi.ToOutput(e).(CacheModeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToCacheModeOutputWithContext(ctx context.Context) CacheModeOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, e).(CacheModeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||||
|
return e.ToCacheModePtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||||
|
return CacheMode(e).ToCacheModeOutputWithContext(ctx).ToCacheModePtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CacheMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
type CacheModeOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (CacheModeOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*CacheMode)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToCacheModeOutput() CacheModeOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToCacheModeOutputWithContext(ctx context.Context) CacheModeOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||||
|
return o.ToCacheModePtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, v CacheMode) *CacheMode {
|
||||||
|
return &v
|
||||||
|
}).(CacheModePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToOutput(ctx context.Context) pulumix.Output[CacheMode] {
|
||||||
|
return pulumix.Output[CacheMode]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return o.ToStringOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e CacheMode) string {
|
||||||
|
return string(e)
|
||||||
|
}).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e CacheMode) *string {
|
||||||
|
v := string(e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
type CacheModePtrOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (CacheModePtrOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**CacheMode)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModePtrOutput) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModePtrOutput) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CacheMode] {
|
||||||
|
return pulumix.Output[*CacheMode]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModePtrOutput) Elem() CacheModeOutput {
|
||||||
|
return o.ApplyT(func(v *CacheMode) CacheMode {
|
||||||
|
if v != nil {
|
||||||
|
return *v
|
||||||
|
}
|
||||||
|
var ret CacheMode
|
||||||
|
return ret
|
||||||
|
}).(CacheModeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CacheModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e *CacheMode) *string {
|
||||||
|
if e == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
v := string(*e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CacheModeInput is an input type that accepts values of the CacheMode enum
|
||||||
|
// A concrete instance of `CacheModeInput` can be one of the following:
|
||||||
|
//
|
||||||
|
// CacheModeMin
|
||||||
|
// CacheModeMax
|
||||||
|
type CacheModeInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToCacheModeOutput() CacheModeOutput
|
||||||
|
ToCacheModeOutputWithContext(context.Context) CacheModeOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
var cacheModePtrType = reflect.TypeOf((**CacheMode)(nil)).Elem()
|
||||||
|
|
||||||
|
type CacheModePtrInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToCacheModePtrOutput() CacheModePtrOutput
|
||||||
|
ToCacheModePtrOutputWithContext(context.Context) CacheModePtrOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
type cacheModePtr string
|
||||||
|
|
||||||
|
func CacheModePtr(v string) CacheModePtrInput {
|
||||||
|
return (*cacheModePtr)(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*cacheModePtr) ElementType() reflect.Type {
|
||||||
|
return cacheModePtrType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *cacheModePtr) ToCacheModePtrOutput() CacheModePtrOutput {
|
||||||
|
return pulumi.ToOutput(in).(CacheModePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *cacheModePtr) ToCacheModePtrOutputWithContext(ctx context.Context) CacheModePtrOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, in).(CacheModePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *cacheModePtr) ToOutput(ctx context.Context) pulumix.Output[*CacheMode] {
|
||||||
|
return pulumix.Output[*CacheMode]{
|
||||||
|
OutputState: in.ToCacheModePtrOutputWithContext(ctx).OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type CompressionType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Use `gzip` for compression.
|
||||||
|
CompressionTypeGzip = CompressionType("gzip")
|
||||||
|
// Use `estargz` for compression.
|
||||||
|
CompressionTypeEstargz = CompressionType("estargz")
|
||||||
|
// Use `zstd` for compression.
|
||||||
|
CompressionTypeZstd = CompressionType("zstd")
|
||||||
|
)
|
||||||
|
|
||||||
|
func (CompressionType) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*CompressionType)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToCompressionTypeOutput() CompressionTypeOutput {
|
||||||
|
return pulumi.ToOutput(e).(CompressionTypeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToCompressionTypeOutputWithContext(ctx context.Context) CompressionTypeOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, e).(CompressionTypeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||||
|
return e.ToCompressionTypePtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||||
|
return CompressionType(e).ToCompressionTypeOutputWithContext(ctx).ToCompressionTypePtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e CompressionType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
type CompressionTypeOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (CompressionTypeOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*CompressionType)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToCompressionTypeOutput() CompressionTypeOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToCompressionTypeOutputWithContext(ctx context.Context) CompressionTypeOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||||
|
return o.ToCompressionTypePtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, v CompressionType) *CompressionType {
|
||||||
|
return &v
|
||||||
|
}).(CompressionTypePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToOutput(ctx context.Context) pulumix.Output[CompressionType] {
|
||||||
|
return pulumix.Output[CompressionType]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return o.ToStringOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e CompressionType) string {
|
||||||
|
return string(e)
|
||||||
|
}).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e CompressionType) *string {
|
||||||
|
v := string(e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
type CompressionTypePtrOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (CompressionTypePtrOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**CompressionType)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypePtrOutput) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypePtrOutput) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CompressionType] {
|
||||||
|
return pulumix.Output[*CompressionType]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypePtrOutput) Elem() CompressionTypeOutput {
|
||||||
|
return o.ApplyT(func(v *CompressionType) CompressionType {
|
||||||
|
if v != nil {
|
||||||
|
return *v
|
||||||
|
}
|
||||||
|
var ret CompressionType
|
||||||
|
return ret
|
||||||
|
}).(CompressionTypeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o CompressionTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e *CompressionType) *string {
|
||||||
|
if e == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
v := string(*e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CompressionTypeInput is an input type that accepts values of the CompressionType enum
|
||||||
|
// A concrete instance of `CompressionTypeInput` can be one of the following:
|
||||||
|
//
|
||||||
|
// CompressionTypeGzip
|
||||||
|
// CompressionTypeEstargz
|
||||||
|
// CompressionTypeZstd
|
||||||
|
type CompressionTypeInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToCompressionTypeOutput() CompressionTypeOutput
|
||||||
|
ToCompressionTypeOutputWithContext(context.Context) CompressionTypeOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
var compressionTypePtrType = reflect.TypeOf((**CompressionType)(nil)).Elem()
|
||||||
|
|
||||||
|
type CompressionTypePtrInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToCompressionTypePtrOutput() CompressionTypePtrOutput
|
||||||
|
ToCompressionTypePtrOutputWithContext(context.Context) CompressionTypePtrOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
type compressionTypePtr string
|
||||||
|
|
||||||
|
func CompressionTypePtr(v string) CompressionTypePtrInput {
|
||||||
|
return (*compressionTypePtr)(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*compressionTypePtr) ElementType() reflect.Type {
|
||||||
|
return compressionTypePtrType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *compressionTypePtr) ToCompressionTypePtrOutput() CompressionTypePtrOutput {
|
||||||
|
return pulumi.ToOutput(in).(CompressionTypePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *compressionTypePtr) ToCompressionTypePtrOutputWithContext(ctx context.Context) CompressionTypePtrOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, in).(CompressionTypePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *compressionTypePtr) ToOutput(ctx context.Context) pulumix.Output[*CompressionType] {
|
||||||
|
return pulumix.Output[*CompressionType]{
|
||||||
|
OutputState: in.ToCompressionTypePtrOutputWithContext(ctx).OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type NetworkMode string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// The default sandbox network mode.
|
||||||
|
NetworkModeDefault = NetworkMode("default")
|
||||||
|
// Host network mode.
|
||||||
|
NetworkModeHost = NetworkMode("host")
|
||||||
|
// Disable network access.
|
||||||
|
NetworkModeNone = NetworkMode("none")
|
||||||
|
)
|
||||||
|
|
||||||
|
func (NetworkMode) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*NetworkMode)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToNetworkModeOutput() NetworkModeOutput {
|
||||||
|
return pulumi.ToOutput(e).(NetworkModeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToNetworkModeOutputWithContext(ctx context.Context) NetworkModeOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, e).(NetworkModeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||||
|
return e.ToNetworkModePtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||||
|
return NetworkMode(e).ToNetworkModeOutputWithContext(ctx).ToNetworkModePtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e NetworkMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NetworkModeOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (NetworkModeOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*NetworkMode)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToNetworkModeOutput() NetworkModeOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToNetworkModeOutputWithContext(ctx context.Context) NetworkModeOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||||
|
return o.ToNetworkModePtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkMode) *NetworkMode {
|
||||||
|
return &v
|
||||||
|
}).(NetworkModePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToOutput(ctx context.Context) pulumix.Output[NetworkMode] {
|
||||||
|
return pulumix.Output[NetworkMode]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return o.ToStringOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e NetworkMode) string {
|
||||||
|
return string(e)
|
||||||
|
}).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e NetworkMode) *string {
|
||||||
|
v := string(e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
type NetworkModePtrOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (NetworkModePtrOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**NetworkMode)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModePtrOutput) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModePtrOutput) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*NetworkMode] {
|
||||||
|
return pulumix.Output[*NetworkMode]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModePtrOutput) Elem() NetworkModeOutput {
|
||||||
|
return o.ApplyT(func(v *NetworkMode) NetworkMode {
|
||||||
|
if v != nil {
|
||||||
|
return *v
|
||||||
|
}
|
||||||
|
var ret NetworkMode
|
||||||
|
return ret
|
||||||
|
}).(NetworkModeOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o NetworkModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e *NetworkMode) *string {
|
||||||
|
if e == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
v := string(*e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NetworkModeInput is an input type that accepts values of the NetworkMode enum
|
||||||
|
// A concrete instance of `NetworkModeInput` can be one of the following:
|
||||||
|
//
|
||||||
|
// NetworkModeDefault
|
||||||
|
// NetworkModeHost
|
||||||
|
// NetworkModeNone
|
||||||
|
type NetworkModeInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToNetworkModeOutput() NetworkModeOutput
|
||||||
|
ToNetworkModeOutputWithContext(context.Context) NetworkModeOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
var networkModePtrType = reflect.TypeOf((**NetworkMode)(nil)).Elem()
|
||||||
|
|
||||||
|
type NetworkModePtrInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToNetworkModePtrOutput() NetworkModePtrOutput
|
||||||
|
ToNetworkModePtrOutputWithContext(context.Context) NetworkModePtrOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
type networkModePtr string
|
||||||
|
|
||||||
|
func NetworkModePtr(v string) NetworkModePtrInput {
|
||||||
|
return (*networkModePtr)(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*networkModePtr) ElementType() reflect.Type {
|
||||||
|
return networkModePtrType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *networkModePtr) ToNetworkModePtrOutput() NetworkModePtrOutput {
|
||||||
|
return pulumi.ToOutput(in).(NetworkModePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *networkModePtr) ToNetworkModePtrOutputWithContext(ctx context.Context) NetworkModePtrOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, in).(NetworkModePtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *networkModePtr) ToOutput(ctx context.Context) pulumix.Output[*NetworkMode] {
|
||||||
|
return pulumix.Output[*NetworkMode]{
|
||||||
|
OutputState: in.ToNetworkModePtrOutputWithContext(ctx).OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type Platform string
|
||||||
|
|
||||||
|
const (
|
||||||
|
Platform_Darwin_386 = Platform("darwin/386")
|
||||||
|
Platform_Darwin_amd64 = Platform("darwin/amd64")
|
||||||
|
Platform_Darwin_arm = Platform("darwin/arm")
|
||||||
|
Platform_Darwin_arm64 = Platform("darwin/arm64")
|
||||||
|
Platform_Dragonfly_amd64 = Platform("dragonfly/amd64")
|
||||||
|
Platform_Freebsd_386 = Platform("freebsd/386")
|
||||||
|
Platform_Freebsd_amd64 = Platform("freebsd/amd64")
|
||||||
|
Platform_Freebsd_arm = Platform("freebsd/arm")
|
||||||
|
Platform_Linux_386 = Platform("linux/386")
|
||||||
|
Platform_Linux_amd64 = Platform("linux/amd64")
|
||||||
|
Platform_Linux_arm = Platform("linux/arm")
|
||||||
|
Platform_Linux_arm64 = Platform("linux/arm64")
|
||||||
|
Platform_Linux_mips64 = Platform("linux/mips64")
|
||||||
|
Platform_Linux_mips64le = Platform("linux/mips64le")
|
||||||
|
Platform_Linux_ppc64le = Platform("linux/ppc64le")
|
||||||
|
Platform_Linux_riscv64 = Platform("linux/riscv64")
|
||||||
|
Platform_Linux_s390x = Platform("linux/s390x")
|
||||||
|
Platform_Netbsd_386 = Platform("netbsd/386")
|
||||||
|
Platform_Netbsd_amd64 = Platform("netbsd/amd64")
|
||||||
|
Platform_Netbsd_arm = Platform("netbsd/arm")
|
||||||
|
Platform_Openbsd_386 = Platform("openbsd/386")
|
||||||
|
Platform_Openbsd_amd64 = Platform("openbsd/amd64")
|
||||||
|
Platform_Openbsd_arm = Platform("openbsd/arm")
|
||||||
|
Platform_Plan9_386 = Platform("plan9/386")
|
||||||
|
Platform_Plan9_amd64 = Platform("plan9/amd64")
|
||||||
|
Platform_Solaris_amd64 = Platform("solaris/amd64")
|
||||||
|
Platform_Windows_386 = Platform("windows/386")
|
||||||
|
Platform_Windows_amd64 = Platform("windows/amd64")
|
||||||
|
)
|
||||||
|
|
||||||
|
func (Platform) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*Platform)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToPlatformOutput() PlatformOutput {
|
||||||
|
return pulumi.ToOutput(e).(PlatformOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToPlatformOutputWithContext(ctx context.Context) PlatformOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, e).(PlatformOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||||
|
return e.ToPlatformPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||||
|
return Platform(e).ToPlatformOutputWithContext(ctx).ToPlatformPtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e Platform) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlatformOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (PlatformOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*Platform)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToPlatformOutput() PlatformOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToPlatformOutputWithContext(ctx context.Context) PlatformOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||||
|
return o.ToPlatformPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, v Platform) *Platform {
|
||||||
|
return &v
|
||||||
|
}).(PlatformPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToOutput(ctx context.Context) pulumix.Output[Platform] {
|
||||||
|
return pulumix.Output[Platform]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToStringOutput() pulumi.StringOutput {
|
||||||
|
return o.ToStringOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e Platform) string {
|
||||||
|
return string(e)
|
||||||
|
}).(pulumi.StringOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e Platform) *string {
|
||||||
|
v := string(e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlatformPtrOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (PlatformPtrOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((**Platform)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformPtrOutput) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformPtrOutput) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*Platform] {
|
||||||
|
return pulumix.Output[*Platform]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformPtrOutput) Elem() PlatformOutput {
|
||||||
|
return o.ApplyT(func(v *Platform) Platform {
|
||||||
|
if v != nil {
|
||||||
|
return *v
|
||||||
|
}
|
||||||
|
var ret Platform
|
||||||
|
return ret
|
||||||
|
}).(PlatformOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
|
||||||
|
return o.ToStringPtrOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
|
||||||
|
return o.ApplyTWithContext(ctx, func(_ context.Context, e *Platform) *string {
|
||||||
|
if e == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
v := string(*e)
|
||||||
|
return &v
|
||||||
|
}).(pulumi.StringPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PlatformInput is an input type that accepts values of the Platform enum
|
||||||
|
// A concrete instance of `PlatformInput` can be one of the following:
|
||||||
|
//
|
||||||
|
// Platform_Darwin_386
|
||||||
|
// Platform_Darwin_amd64
|
||||||
|
// Platform_Darwin_arm
|
||||||
|
// Platform_Darwin_arm64
|
||||||
|
// Platform_Dragonfly_amd64
|
||||||
|
// Platform_Freebsd_386
|
||||||
|
// Platform_Freebsd_amd64
|
||||||
|
// Platform_Freebsd_arm
|
||||||
|
// Platform_Linux_386
|
||||||
|
// Platform_Linux_amd64
|
||||||
|
// Platform_Linux_arm
|
||||||
|
// Platform_Linux_arm64
|
||||||
|
// Platform_Linux_mips64
|
||||||
|
// Platform_Linux_mips64le
|
||||||
|
// Platform_Linux_ppc64le
|
||||||
|
// Platform_Linux_riscv64
|
||||||
|
// Platform_Linux_s390x
|
||||||
|
// Platform_Netbsd_386
|
||||||
|
// Platform_Netbsd_amd64
|
||||||
|
// Platform_Netbsd_arm
|
||||||
|
// Platform_Openbsd_386
|
||||||
|
// Platform_Openbsd_amd64
|
||||||
|
// Platform_Openbsd_arm
|
||||||
|
// Platform_Plan9_386
|
||||||
|
// Platform_Plan9_amd64
|
||||||
|
// Platform_Solaris_amd64
|
||||||
|
// Platform_Windows_386
|
||||||
|
// Platform_Windows_amd64
|
||||||
|
type PlatformInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToPlatformOutput() PlatformOutput
|
||||||
|
ToPlatformOutputWithContext(context.Context) PlatformOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
var platformPtrType = reflect.TypeOf((**Platform)(nil)).Elem()
|
||||||
|
|
||||||
|
type PlatformPtrInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToPlatformPtrOutput() PlatformPtrOutput
|
||||||
|
ToPlatformPtrOutputWithContext(context.Context) PlatformPtrOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
type platformPtr string
|
||||||
|
|
||||||
|
func PlatformPtr(v string) PlatformPtrInput {
|
||||||
|
return (*platformPtr)(&v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*platformPtr) ElementType() reflect.Type {
|
||||||
|
return platformPtrType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *platformPtr) ToPlatformPtrOutput() PlatformPtrOutput {
|
||||||
|
return pulumi.ToOutput(in).(PlatformPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *platformPtr) ToPlatformPtrOutputWithContext(ctx context.Context) PlatformPtrOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, in).(PlatformPtrOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (in *platformPtr) ToOutput(ctx context.Context) pulumix.Output[*Platform] {
|
||||||
|
return pulumix.Output[*Platform]{
|
||||||
|
OutputState: in.ToPlatformPtrOutputWithContext(ctx).OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PlatformArrayInput is an input type that accepts PlatformArray and PlatformArrayOutput values.
|
||||||
|
// You can construct a concrete instance of `PlatformArrayInput` via:
|
||||||
|
//
|
||||||
|
// PlatformArray{ PlatformArgs{...} }
|
||||||
|
type PlatformArrayInput interface {
|
||||||
|
pulumi.Input
|
||||||
|
|
||||||
|
ToPlatformArrayOutput() PlatformArrayOutput
|
||||||
|
ToPlatformArrayOutputWithContext(context.Context) PlatformArrayOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlatformArray []Platform
|
||||||
|
|
||||||
|
func (PlatformArray) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*[]Platform)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i PlatformArray) ToPlatformArrayOutput() PlatformArrayOutput {
|
||||||
|
return i.ToPlatformArrayOutputWithContext(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i PlatformArray) ToPlatformArrayOutputWithContext(ctx context.Context) PlatformArrayOutput {
|
||||||
|
return pulumi.ToOutputWithContext(ctx, i).(PlatformArrayOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i PlatformArray) ToOutput(ctx context.Context) pulumix.Output[[]Platform] {
|
||||||
|
return pulumix.Output[[]Platform]{
|
||||||
|
OutputState: i.ToPlatformArrayOutputWithContext(ctx).OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlatformArrayOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (PlatformArrayOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*[]Platform)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformArrayOutput) ToPlatformArrayOutput() PlatformArrayOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformArrayOutput) ToPlatformArrayOutputWithContext(ctx context.Context) PlatformArrayOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]Platform] {
|
||||||
|
return pulumix.Output[[]Platform]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o PlatformArrayOutput) Index(i pulumi.IntInput) PlatformOutput {
|
||||||
|
return pulumi.All(o, i).ApplyT(func(vs []interface{}) Platform {
|
||||||
|
return vs[0].([]Platform)[vs[1].(int)]
|
||||||
|
}).(PlatformOutput)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*CacheModeInput)(nil)).Elem(), CacheMode("min"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*CacheModePtrInput)(nil)).Elem(), CacheMode("min"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*CompressionTypeInput)(nil)).Elem(), CompressionType("gzip"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*CompressionTypePtrInput)(nil)).Elem(), CompressionType("gzip"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*NetworkModeInput)(nil)).Elem(), NetworkMode("default"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*NetworkModePtrInput)(nil)).Elem(), NetworkMode("default"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*PlatformInput)(nil)).Elem(), Platform("darwin/386"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*PlatformPtrInput)(nil)).Elem(), Platform("darwin/386"))
|
||||||
|
pulumi.RegisterInputType(reflect.TypeOf((*PlatformArrayInput)(nil)).Elem(), PlatformArray{})
|
||||||
|
pulumi.RegisterOutputType(CacheModeOutput{})
|
||||||
|
pulumi.RegisterOutputType(CacheModePtrOutput{})
|
||||||
|
pulumi.RegisterOutputType(CompressionTypeOutput{})
|
||||||
|
pulumi.RegisterOutputType(CompressionTypePtrOutput{})
|
||||||
|
pulumi.RegisterOutputType(NetworkModeOutput{})
|
||||||
|
pulumi.RegisterOutputType(NetworkModePtrOutput{})
|
||||||
|
pulumi.RegisterOutputType(PlatformOutput{})
|
||||||
|
pulumi.RegisterOutputType(PlatformPtrOutput{})
|
||||||
|
pulumi.RegisterOutputType(PlatformArrayOutput{})
|
||||||
|
}
|
||||||
7217
sdk/go/dockerbuild/pulumiTypes.go
Normal file
7217
sdk/go/dockerbuild/pulumiTypes.go
Normal file
File diff suppressed because it is too large
Load Diff
28
sdk/go/dockerbuild/x/config/config.go
Normal file
28
sdk/go/dockerbuild/x/config/config.go
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ = internal.GetEnvOrDefault
|
||||||
|
|
||||||
|
// The build daemon's address.
|
||||||
|
func GetHost(ctx *pulumi.Context) string {
|
||||||
|
v, err := config.Try(ctx, "docker-build:host")
|
||||||
|
if err == nil {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
var value string
|
||||||
|
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||||
|
value = d.(string)
|
||||||
|
}
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
func GetRegistries(ctx *pulumi.Context) string {
|
||||||
|
return config.Get(ctx, "docker-build:registries")
|
||||||
|
}
|
||||||
2
sdk/go/dockerbuild/x/doc.go
Normal file
2
sdk/go/dockerbuild/x/doc.go
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// A Pulumi provider for building modern Docker images with buildx and BuildKit.
|
||||||
|
package dockerbuild
|
||||||
1376
sdk/go/dockerbuild/x/image.go
Normal file
1376
sdk/go/dockerbuild/x/image.go
Normal file
File diff suppressed because it is too large
Load Diff
288
sdk/go/dockerbuild/x/index.go
Normal file
288
sdk/go/dockerbuild/x/index.go
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package dockerbuild
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
|
"errors"
|
||||||
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||||
|
)
|
||||||
|
|
||||||
|
// A wrapper around `docker buildx imagetools create` to create an index
|
||||||
|
// (or manifest list) referencing one or more existing images.
|
||||||
|
//
|
||||||
|
// In most cases you do not need an `Index` to build a multi-platform
|
||||||
|
// image -- specifying multiple platforms on the `Image` will handle this
|
||||||
|
// for you automatically.
|
||||||
|
//
|
||||||
|
// However, as of April 2024, building multi-platform images _with
|
||||||
|
// caching_ will only export a cache for one platform at a time (see [this
|
||||||
|
// discussion](https://github.com/docker/buildx/discussions/1382) for more
|
||||||
|
// details).
|
||||||
|
//
|
||||||
|
// Therefore this resource can be helpful if you are building
|
||||||
|
// multi-platform images with caching: each platform can be built and
|
||||||
|
// cached separately, and an `Index` can join them all together. An
|
||||||
|
// example of this is shown below.
|
||||||
|
//
|
||||||
|
// This resource creates an OCI image index or a Docker manifest list
|
||||||
|
// depending on the media types of the source images.
|
||||||
|
//
|
||||||
|
// ## Example Usage
|
||||||
|
// ### Multi-platform registry caching
|
||||||
|
// ```go
|
||||||
|
// package main
|
||||||
|
//
|
||||||
|
// import (
|
||||||
|
//
|
||||||
|
// "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||||
|
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
//
|
||||||
|
// )
|
||||||
|
//
|
||||||
|
// func main() {
|
||||||
|
// pulumi.Run(func(ctx *pulumi.Context) error {
|
||||||
|
// amd64, err := dockerbuild.NewImage(ctx, "amd64", &dockerbuild.ImageArgs{
|
||||||
|
// CacheFrom: dockerbuild.CacheFromArray{
|
||||||
|
// &dockerbuild.CacheFromArgs{
|
||||||
|
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// CacheTo: dockerbuild.CacheToArray{
|
||||||
|
// &dockerbuild.CacheToArgs{
|
||||||
|
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||||
|
// Mode: dockerbuild.CacheModeMax,
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-amd64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Context: &dockerbuild.BuildContextArgs{
|
||||||
|
// Location: pulumi.String("app"),
|
||||||
|
// },
|
||||||
|
// Platforms: docker - build.PlatformArray{
|
||||||
|
// dockerbuild.Platform_Linux_amd64,
|
||||||
|
// },
|
||||||
|
// Tags: pulumi.StringArray{
|
||||||
|
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-amd64"),
|
||||||
|
// },
|
||||||
|
// })
|
||||||
|
// if err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// arm64, err := dockerbuild.NewImage(ctx, "arm64", &dockerbuild.ImageArgs{
|
||||||
|
// CacheFrom: dockerbuild.CacheFromArray{
|
||||||
|
// &dockerbuild.CacheFromArgs{
|
||||||
|
// Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// CacheTo: dockerbuild.CacheToArray{
|
||||||
|
// &dockerbuild.CacheToArgs{
|
||||||
|
// Registry: &dockerbuild.CacheToRegistryArgs{
|
||||||
|
// Mode: dockerbuild.CacheModeMax,
|
||||||
|
// Ref: pulumi.String("docker.io/pulumi/pulumi:cache-arm64"),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Context: &dockerbuild.BuildContextArgs{
|
||||||
|
// Location: pulumi.String("app"),
|
||||||
|
// },
|
||||||
|
// Platforms: docker - build.PlatformArray{
|
||||||
|
// dockerbuild.Platform_Linux_arm64,
|
||||||
|
// },
|
||||||
|
// Tags: pulumi.StringArray{
|
||||||
|
// pulumi.String("docker.io/pulumi/pulumi:3.107.0-arm64"),
|
||||||
|
// },
|
||||||
|
// })
|
||||||
|
// if err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// index, err := dockerbuild.NewIndex(ctx, "index", &dockerbuild.IndexArgs{
|
||||||
|
// Sources: pulumi.StringArray{
|
||||||
|
// amd64.Ref,
|
||||||
|
// arm64.Ref,
|
||||||
|
// },
|
||||||
|
// Tag: pulumi.String("docker.io/pulumi/pulumi:3.107.0"),
|
||||||
|
// })
|
||||||
|
// if err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// ctx.Export("ref", index.Ref)
|
||||||
|
// return nil
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// ```
|
||||||
|
type Index struct {
|
||||||
|
pulumi.CustomResourceState
|
||||||
|
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
Push pulumix.Output[*bool] `pulumi:"push"`
|
||||||
|
// The pushed tag with digest.
|
||||||
|
//
|
||||||
|
// Identical to the tag if the index was not pushed.
|
||||||
|
Ref pulumix.Output[string] `pulumi:"ref"`
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
Registry pulumix.GPtrOutput[Registry, RegistryOutput] `pulumi:"registry"`
|
||||||
|
// Existing images to include in the index.
|
||||||
|
Sources pulumix.ArrayOutput[string] `pulumi:"sources"`
|
||||||
|
// The tag to apply to the index.
|
||||||
|
Tag pulumix.Output[string] `pulumi:"tag"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewIndex registers a new resource with the given unique name, arguments, and options.
|
||||||
|
func NewIndex(ctx *pulumi.Context,
|
||||||
|
name string, args *IndexArgs, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||||
|
if args == nil {
|
||||||
|
return nil, errors.New("missing one or more required arguments")
|
||||||
|
}
|
||||||
|
|
||||||
|
if args.Sources == nil {
|
||||||
|
return nil, errors.New("invalid value for required argument 'Sources'")
|
||||||
|
}
|
||||||
|
if args.Tag == nil {
|
||||||
|
return nil, errors.New("invalid value for required argument 'Tag'")
|
||||||
|
}
|
||||||
|
if args.Push == nil {
|
||||||
|
args.Push = pulumix.Ptr(true)
|
||||||
|
}
|
||||||
|
opts = internal.PkgResourceDefaultOpts(opts)
|
||||||
|
var resource Index
|
||||||
|
err := ctx.RegisterResource("docker-build:index:Index", name, args, &resource, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &resource, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIndex gets an existing Index resource's state with the given name, ID, and optional
|
||||||
|
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||||
|
func GetIndex(ctx *pulumi.Context,
|
||||||
|
name string, id pulumi.IDInput, state *IndexState, opts ...pulumi.ResourceOption) (*Index, error) {
|
||||||
|
var resource Index
|
||||||
|
err := ctx.ReadResource("docker-build:index:Index", name, id, state, &resource, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &resource, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Input properties used for looking up and filtering Index resources.
|
||||||
|
type indexState struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type IndexState struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IndexState) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*indexState)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
type indexArgs struct {
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
Push *bool `pulumi:"push"`
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
Registry *Registry `pulumi:"registry"`
|
||||||
|
// Existing images to include in the index.
|
||||||
|
Sources []string `pulumi:"sources"`
|
||||||
|
// The tag to apply to the index.
|
||||||
|
Tag string `pulumi:"tag"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// The set of arguments for constructing a Index resource.
|
||||||
|
type IndexArgs struct {
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
Push pulumix.Input[*bool]
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
Registry pulumix.Input[*RegistryArgs]
|
||||||
|
// Existing images to include in the index.
|
||||||
|
Sources pulumix.Input[[]string]
|
||||||
|
// The tag to apply to the index.
|
||||||
|
Tag pulumix.Input[string]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (IndexArgs) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*indexArgs)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
type IndexOutput struct{ *pulumi.OutputState }
|
||||||
|
|
||||||
|
func (IndexOutput) ElementType() reflect.Type {
|
||||||
|
return reflect.TypeOf((*Index)(nil)).Elem()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o IndexOutput) ToIndexOutput() IndexOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o IndexOutput) ToIndexOutputWithContext(ctx context.Context) IndexOutput {
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o IndexOutput) ToOutput(ctx context.Context) pulumix.Output[Index] {
|
||||||
|
return pulumix.Output[Index]{
|
||||||
|
OutputState: o.OutputState,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If true, push the index to the target registry.
|
||||||
|
//
|
||||||
|
// Defaults to `true`.
|
||||||
|
func (o IndexOutput) Push() pulumix.Output[*bool] {
|
||||||
|
value := pulumix.Apply[Index](o, func(v Index) pulumix.Output[*bool] { return v.Push })
|
||||||
|
return pulumix.Flatten[*bool, pulumix.Output[*bool]](value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// The pushed tag with digest.
|
||||||
|
//
|
||||||
|
// Identical to the tag if the index was not pushed.
|
||||||
|
func (o IndexOutput) Ref() pulumix.Output[string] {
|
||||||
|
value := pulumix.Apply[Index](o, func(v Index) pulumix.Output[string] { return v.Ref })
|
||||||
|
return pulumix.Flatten[string, pulumix.Output[string]](value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Authentication for the registry where the tagged index will be pushed.
|
||||||
|
//
|
||||||
|
// Credentials can also be included with the provider's configuration.
|
||||||
|
func (o IndexOutput) Registry() pulumix.GPtrOutput[Registry, RegistryOutput] {
|
||||||
|
value := pulumix.Apply[Index](o, func(v Index) pulumix.GPtrOutput[Registry, RegistryOutput] { return v.Registry })
|
||||||
|
unwrapped := pulumix.Flatten[*Registry, pulumix.GPtrOutput[Registry, RegistryOutput]](value)
|
||||||
|
return pulumix.GPtrOutput[Registry, RegistryOutput]{OutputState: unwrapped.OutputState}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Existing images to include in the index.
|
||||||
|
func (o IndexOutput) Sources() pulumix.ArrayOutput[string] {
|
||||||
|
value := pulumix.Apply[Index](o, func(v Index) pulumix.ArrayOutput[string] { return v.Sources })
|
||||||
|
unwrapped := pulumix.Flatten[[]string, pulumix.ArrayOutput[string]](value)
|
||||||
|
return pulumix.ArrayOutput[string]{OutputState: unwrapped.OutputState}
|
||||||
|
}
|
||||||
|
|
||||||
|
// The tag to apply to the index.
|
||||||
|
func (o IndexOutput) Tag() pulumix.Output[string] {
|
||||||
|
value := pulumix.Apply[Index](o, func(v Index) pulumix.Output[string] { return v.Tag })
|
||||||
|
return pulumix.Flatten[string, pulumix.Output[string]](value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
pulumi.RegisterOutputType(IndexOutput{})
|
||||||
|
}
|
||||||
68
sdk/go/dockerbuild/x/init.go
Normal file
68
sdk/go/dockerbuild/x/init.go
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package dockerbuild
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/blang/semver"
|
||||||
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
)
|
||||||
|
|
||||||
|
type module struct {
|
||||||
|
version semver.Version
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *module) Version() semver.Version {
|
||||||
|
return m.version
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
||||||
|
switch typ {
|
||||||
|
case "docker-build:index:Image":
|
||||||
|
r = &Image{}
|
||||||
|
case "docker-build:index:Index":
|
||||||
|
r = &Index{}
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
type pkg struct {
|
||||||
|
version semver.Version
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *pkg) Version() semver.Version {
|
||||||
|
return p.version
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) {
|
||||||
|
if typ != "pulumi:providers:docker-build" {
|
||||||
|
return nil, fmt.Errorf("unknown provider type: %s", typ)
|
||||||
|
}
|
||||||
|
|
||||||
|
r := &Provider{}
|
||||||
|
err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||||
|
return r, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
version, err := internal.PkgVersion()
|
||||||
|
if err != nil {
|
||||||
|
version = semver.Version{Major: 1}
|
||||||
|
}
|
||||||
|
pulumi.RegisterResourceModule(
|
||||||
|
"docker-build",
|
||||||
|
"index",
|
||||||
|
&module{version},
|
||||||
|
)
|
||||||
|
pulumi.RegisterResourcePackage(
|
||||||
|
"docker-build",
|
||||||
|
&pkg{version},
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -1,19 +1,22 @@
|
|||||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
package docker
|
package dockerbuild
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
"github.com/pulumi/pulumi-docker-native/sdk/go/docker/internal"
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild/internal"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumix"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Provider struct {
|
type Provider struct {
|
||||||
pulumi.ProviderResourceState
|
pulumi.ProviderResourceState
|
||||||
|
|
||||||
|
// The build daemon's address.
|
||||||
|
Host pulumix.Output[*string] `pulumi:"host"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewProvider registers a new resource with the given unique name, arguments, and options.
|
// NewProvider registers a new resource with the given unique name, arguments, and options.
|
||||||
@@ -23,9 +26,14 @@ func NewProvider(ctx *pulumi.Context,
|
|||||||
args = &ProviderArgs{}
|
args = &ProviderArgs{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if args.Host == nil {
|
||||||
|
if d := internal.GetEnvOrDefault("", nil, "DOCKER_HOST"); d != nil {
|
||||||
|
args.Host = pulumix.Ptr(d.(string))
|
||||||
|
}
|
||||||
|
}
|
||||||
opts = internal.PkgResourceDefaultOpts(opts)
|
opts = internal.PkgResourceDefaultOpts(opts)
|
||||||
var resource Provider
|
var resource Provider
|
||||||
err := ctx.RegisterResource("pulumi:providers:docker-native", name, args, &resource, opts...)
|
err := ctx.RegisterResource("pulumi:providers:docker-build", name, args, &resource, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -33,10 +41,16 @@ func NewProvider(ctx *pulumi.Context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
type providerArgs struct {
|
type providerArgs struct {
|
||||||
|
// The build daemon's address.
|
||||||
|
Host *string `pulumi:"host"`
|
||||||
|
Registries []Registry `pulumi:"registries"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// The set of arguments for constructing a Provider resource.
|
// The set of arguments for constructing a Provider resource.
|
||||||
type ProviderArgs struct {
|
type ProviderArgs struct {
|
||||||
|
// The build daemon's address.
|
||||||
|
Host pulumix.Input[*string]
|
||||||
|
Registries pulumix.Input[[]*RegistryArgs]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ProviderArgs) ElementType() reflect.Type {
|
func (ProviderArgs) ElementType() reflect.Type {
|
||||||
@@ -63,6 +77,12 @@ func (o ProviderOutput) ToOutput(ctx context.Context) pulumix.Output[Provider] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The build daemon's address.
|
||||||
|
func (o ProviderOutput) Host() pulumix.Output[*string] {
|
||||||
|
value := pulumix.Apply[Provider](o, func(v Provider) pulumix.Output[*string] { return v.Host })
|
||||||
|
return pulumix.Flatten[*string, pulumix.Output[*string]](value)
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
pulumi.RegisterOutputType(ProviderOutput{})
|
pulumi.RegisterOutputType(ProviderOutput{})
|
||||||
}
|
}
|
||||||
68
sdk/go/dockerbuild/x/pulumiEnums.go
Normal file
68
sdk/go/dockerbuild/x/pulumiEnums.go
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||||
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||||
|
|
||||||
|
package dockerbuild
|
||||||
|
|
||||||
|
type CacheMode string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Only layers that are exported into the resulting image are cached.
|
||||||
|
CacheModeCacheModeMin = CacheMode("min")
|
||||||
|
// All layers are cached, even those of intermediate steps.
|
||||||
|
CacheModeCacheModeMax = CacheMode("max")
|
||||||
|
)
|
||||||
|
|
||||||
|
type CompressionType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Use `gzip` for compression.
|
||||||
|
CompressionTypeCompressionTypeGzip = CompressionType("gzip")
|
||||||
|
// Use `estargz` for compression.
|
||||||
|
CompressionTypeCompressionTypeEstargz = CompressionType("estargz")
|
||||||
|
// Use `zstd` for compression.
|
||||||
|
CompressionTypeCompressionTypeZstd = CompressionType("zstd")
|
||||||
|
)
|
||||||
|
|
||||||
|
type NetworkMode string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// The default sandbox network mode.
|
||||||
|
NetworkModeNetworkModeDefault = NetworkMode("default")
|
||||||
|
// Host network mode.
|
||||||
|
NetworkModeNetworkModeHost = NetworkMode("host")
|
||||||
|
// Disable network access.
|
||||||
|
NetworkModeNetworkModeNone = NetworkMode("none")
|
||||||
|
)
|
||||||
|
|
||||||
|
type Platform string
|
||||||
|
|
||||||
|
const (
|
||||||
|
Platform_Platform_Darwin_386 = Platform("darwin/386")
|
||||||
|
Platform_Platform_Darwin_amd64 = Platform("darwin/amd64")
|
||||||
|
Platform_Platform_Darwin_arm = Platform("darwin/arm")
|
||||||
|
Platform_Platform_Darwin_arm64 = Platform("darwin/arm64")
|
||||||
|
Platform_Platform_Dragonfly_amd64 = Platform("dragonfly/amd64")
|
||||||
|
Platform_Platform_Freebsd_386 = Platform("freebsd/386")
|
||||||
|
Platform_Platform_Freebsd_amd64 = Platform("freebsd/amd64")
|
||||||
|
Platform_Platform_Freebsd_arm = Platform("freebsd/arm")
|
||||||
|
Platform_Platform_Linux_386 = Platform("linux/386")
|
||||||
|
Platform_Platform_Linux_amd64 = Platform("linux/amd64")
|
||||||
|
Platform_Platform_Linux_arm = Platform("linux/arm")
|
||||||
|
Platform_Platform_Linux_arm64 = Platform("linux/arm64")
|
||||||
|
Platform_Platform_Linux_mips64 = Platform("linux/mips64")
|
||||||
|
Platform_Platform_Linux_mips64le = Platform("linux/mips64le")
|
||||||
|
Platform_Platform_Linux_ppc64le = Platform("linux/ppc64le")
|
||||||
|
Platform_Platform_Linux_riscv64 = Platform("linux/riscv64")
|
||||||
|
Platform_Platform_Linux_s390x = Platform("linux/s390x")
|
||||||
|
Platform_Platform_Netbsd_386 = Platform("netbsd/386")
|
||||||
|
Platform_Platform_Netbsd_amd64 = Platform("netbsd/amd64")
|
||||||
|
Platform_Platform_Netbsd_arm = Platform("netbsd/arm")
|
||||||
|
Platform_Platform_Openbsd_386 = Platform("openbsd/386")
|
||||||
|
Platform_Platform_Openbsd_amd64 = Platform("openbsd/amd64")
|
||||||
|
Platform_Platform_Openbsd_arm = Platform("openbsd/arm")
|
||||||
|
Platform_Platform_Plan9_386 = Platform("plan9/386")
|
||||||
|
Platform_Platform_Plan9_amd64 = Platform("plan9/amd64")
|
||||||
|
Platform_Platform_Solaris_amd64 = Platform("solaris/amd64")
|
||||||
|
Platform_Platform_Windows_386 = Platform("windows/386")
|
||||||
|
Platform_Platform_Windows_amd64 = Platform("windows/amd64")
|
||||||
|
)
|
||||||
3413
sdk/go/dockerbuild/x/pulumiTypes.go
Normal file
3413
sdk/go/dockerbuild/x/pulumiTypes.go
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,47 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
package com.pulumi.dockernative;
|
|
||||||
|
|
||||||
import com.pulumi.core.Output;
|
|
||||||
import com.pulumi.core.annotations.ResourceType;
|
|
||||||
import com.pulumi.core.internal.Codegen;
|
|
||||||
import com.pulumi.dockernative.ProviderArgs;
|
|
||||||
import com.pulumi.dockernative.Utilities;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
@ResourceType(type="pulumi:providers:docker-native")
|
|
||||||
public class Provider extends com.pulumi.resources.ProviderResource {
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
*/
|
|
||||||
public Provider(String name) {
|
|
||||||
this(name, ProviderArgs.Empty);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
* @param args The arguments to use to populate this resource's properties.
|
|
||||||
*/
|
|
||||||
public Provider(String name, @Nullable ProviderArgs args) {
|
|
||||||
this(name, args, null);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
* @param args The arguments to use to populate this resource's properties.
|
|
||||||
* @param options A bag of options that control this resource's behavior.
|
|
||||||
*/
|
|
||||||
public Provider(String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
|
||||||
super("docker-native", name, args == null ? ProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<String> id) {
|
|
||||||
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
|
|
||||||
.version(Utilities.getVersion())
|
|
||||||
.build();
|
|
||||||
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
package com.pulumi.dockernative;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final class ProviderArgs extends com.pulumi.resources.ResourceArgs {
|
|
||||||
|
|
||||||
public static final ProviderArgs Empty = new ProviderArgs();
|
|
||||||
|
|
||||||
public static Builder builder() {
|
|
||||||
return new Builder();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final class Builder {
|
|
||||||
private ProviderArgs $;
|
|
||||||
|
|
||||||
public Builder() {
|
|
||||||
$ = new ProviderArgs();
|
|
||||||
}
|
|
||||||
public ProviderArgs build() {
|
|
||||||
return $;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
package com.pulumi.dockernative;
|
|
||||||
|
|
||||||
import com.pulumi.core.Output;
|
|
||||||
import com.pulumi.core.annotations.Export;
|
|
||||||
import com.pulumi.core.annotations.ResourceType;
|
|
||||||
import com.pulumi.core.internal.Codegen;
|
|
||||||
import com.pulumi.dockernative.RandomArgs;
|
|
||||||
import com.pulumi.dockernative.Utilities;
|
|
||||||
import java.lang.Integer;
|
|
||||||
import java.lang.String;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
@ResourceType(type="docker-native:index:Random")
|
|
||||||
public class Random extends com.pulumi.resources.CustomResource {
|
|
||||||
@Export(name="length", refs={Integer.class}, tree="[0]")
|
|
||||||
private Output<Integer> length;
|
|
||||||
|
|
||||||
public Output<Integer> length() {
|
|
||||||
return this.length;
|
|
||||||
}
|
|
||||||
@Export(name="result", refs={String.class}, tree="[0]")
|
|
||||||
private Output<String> result;
|
|
||||||
|
|
||||||
public Output<String> result() {
|
|
||||||
return this.result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
*/
|
|
||||||
public Random(String name) {
|
|
||||||
this(name, RandomArgs.Empty);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
* @param args The arguments to use to populate this resource's properties.
|
|
||||||
*/
|
|
||||||
public Random(String name, RandomArgs args) {
|
|
||||||
this(name, args, null);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
* @param args The arguments to use to populate this resource's properties.
|
|
||||||
* @param options A bag of options that control this resource's behavior.
|
|
||||||
*/
|
|
||||||
public Random(String name, RandomArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
|
||||||
super("docker-native:index:Random", name, args == null ? RandomArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
|
|
||||||
}
|
|
||||||
|
|
||||||
private Random(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
|
||||||
super("docker-native:index:Random", name, null, makeResourceOptions(options, id));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output<String> id) {
|
|
||||||
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
|
|
||||||
.version(Utilities.getVersion())
|
|
||||||
.build();
|
|
||||||
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get an existing Host resource's state with the given name, ID, and optional extra
|
|
||||||
* properties used to qualify the lookup.
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
* @param id The _unique_ provider ID of the resource to lookup.
|
|
||||||
* @param options Optional settings to control the behavior of the CustomResource.
|
|
||||||
*/
|
|
||||||
public static Random get(String name, Output<String> id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
|
|
||||||
return new Random(name, id, options);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
package com.pulumi.dockernative;
|
|
||||||
|
|
||||||
import com.pulumi.core.Output;
|
|
||||||
import com.pulumi.core.annotations.Import;
|
|
||||||
import com.pulumi.exceptions.MissingRequiredPropertyException;
|
|
||||||
import java.lang.Integer;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
|
|
||||||
public final class RandomArgs extends com.pulumi.resources.ResourceArgs {
|
|
||||||
|
|
||||||
public static final RandomArgs Empty = new RandomArgs();
|
|
||||||
|
|
||||||
@Import(name="length", required=true)
|
|
||||||
private Output<Integer> length;
|
|
||||||
|
|
||||||
public Output<Integer> length() {
|
|
||||||
return this.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
private RandomArgs() {}
|
|
||||||
|
|
||||||
private RandomArgs(RandomArgs $) {
|
|
||||||
this.length = $.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Builder builder() {
|
|
||||||
return new Builder();
|
|
||||||
}
|
|
||||||
public static Builder builder(RandomArgs defaults) {
|
|
||||||
return new Builder(defaults);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final class Builder {
|
|
||||||
private RandomArgs $;
|
|
||||||
|
|
||||||
public Builder() {
|
|
||||||
$ = new RandomArgs();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder(RandomArgs defaults) {
|
|
||||||
$ = new RandomArgs(Objects.requireNonNull(defaults));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder length(Output<Integer> length) {
|
|
||||||
$.length = length;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder length(Integer length) {
|
|
||||||
return length(Output.of(length));
|
|
||||||
}
|
|
||||||
|
|
||||||
public RandomArgs build() {
|
|
||||||
if ($.length == null) {
|
|
||||||
throw new MissingRequiredPropertyException("RandomArgs", "length");
|
|
||||||
}
|
|
||||||
return $;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
package com.pulumi.dockernative;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import com.pulumi.core.internal.Environment;
|
|
||||||
import com.pulumi.deployment.InvokeOptions;
|
|
||||||
|
|
||||||
public class Utilities {
|
|
||||||
|
|
||||||
public static Optional<String> getEnv(String... names) {
|
|
||||||
for (var n : names) {
|
|
||||||
var value = Environment.getEnvironmentVariable(n);
|
|
||||||
if (value.isValue()) {
|
|
||||||
return Optional.of(value.value());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Optional.empty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Optional<Boolean> getEnvBoolean(String... names) {
|
|
||||||
for (var n : names) {
|
|
||||||
var value = Environment.getBooleanEnvironmentVariable(n);
|
|
||||||
if (value.isValue()) {
|
|
||||||
return Optional.of(value.value());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Optional.empty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Optional<Integer> getEnvInteger(String... names) {
|
|
||||||
for (var n : names) {
|
|
||||||
var value = Environment.getIntegerEnvironmentVariable(n);
|
|
||||||
if (value.isValue()) {
|
|
||||||
return Optional.of(value.value());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Optional.empty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Optional<Double> getEnvDouble(String... names) {
|
|
||||||
for (var n : names) {
|
|
||||||
var value = Environment.getDoubleEnvironmentVariable(n);
|
|
||||||
if (value.isValue()) {
|
|
||||||
return Optional.of(value.value());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Optional.empty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static InvokeOptions withVersion(@Nullable InvokeOptions options) {
|
|
||||||
if (options != null && options.getVersion().isPresent()) {
|
|
||||||
return options;
|
|
||||||
}
|
|
||||||
return new InvokeOptions(
|
|
||||||
options == null ? null : options.getParent().orElse(null),
|
|
||||||
options == null ? null : options.getProvider().orElse(null),
|
|
||||||
getVersion()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final String version;
|
|
||||||
public static String getVersion() {
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
|
|
||||||
static {
|
|
||||||
var resourceName = "com/pulumi/docker-native/version.txt";
|
|
||||||
var versionFile = Utilities.class.getClassLoader().getResourceAsStream(resourceName);
|
|
||||||
if (versionFile == null) {
|
|
||||||
throw new IllegalStateException(
|
|
||||||
String.format("expected resource '%s' on Classpath, not found", resourceName)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
version = new BufferedReader(new InputStreamReader(versionFile))
|
|
||||||
.lines()
|
|
||||||
.collect(Collectors.joining("\n"))
|
|
||||||
.trim();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Description
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
import * as pulumi from "@pulumi/pulumi";
|
|
||||||
import * as utilities from "./utilities";
|
|
||||||
|
|
||||||
// Export members:
|
|
||||||
export { ProviderArgs } from "./provider";
|
|
||||||
export type Provider = import("./provider").Provider;
|
|
||||||
export const Provider: typeof import("./provider").Provider = null as any;
|
|
||||||
utilities.lazyLoad(exports, ["Provider"], () => require("./provider"));
|
|
||||||
|
|
||||||
export { RandomArgs } from "./random";
|
|
||||||
export type Random = import("./random").Random;
|
|
||||||
export const Random: typeof import("./random").Random = null as any;
|
|
||||||
utilities.lazyLoad(exports, ["Random"], () => require("./random"));
|
|
||||||
|
|
||||||
|
|
||||||
const _module = {
|
|
||||||
version: utilities.getVersion(),
|
|
||||||
construct: (name: string, type: string, urn: string): pulumi.Resource => {
|
|
||||||
switch (type) {
|
|
||||||
case "docker-native:index:Random":
|
|
||||||
return new Random(name, <any>undefined, { urn })
|
|
||||||
default:
|
|
||||||
throw new Error(`unknown resource type ${type}`);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
pulumi.runtime.registerResourceModule("docker-native", "index", _module)
|
|
||||||
pulumi.runtime.registerResourcePackage("docker-native", {
|
|
||||||
version: utilities.getVersion(),
|
|
||||||
constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => {
|
|
||||||
if (type !== "pulumi:providers:docker-native") {
|
|
||||||
throw new Error(`unknown provider type ${type}`);
|
|
||||||
}
|
|
||||||
return new Provider(name, <any>undefined, { urn });
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@pulumi/docker-native",
|
|
||||||
"version": "${VERSION}",
|
|
||||||
"keywords": [
|
|
||||||
"keywords"
|
|
||||||
],
|
|
||||||
"homepage": "pulumi.com",
|
|
||||||
"repository": "https://github.com/pulumi/pulumi-docker-native",
|
|
||||||
"scripts": {
|
|
||||||
"build": "tsc"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@pulumi/pulumi": "^3.42.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/node": "^14",
|
|
||||||
"typescript": "^4.3.5"
|
|
||||||
},
|
|
||||||
"pulumi": {
|
|
||||||
"resource": true,
|
|
||||||
"name": "docker-native",
|
|
||||||
"server": "github.com/pulumi/pulumi-docker-native"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
import * as pulumi from "@pulumi/pulumi";
|
|
||||||
import * as utilities from "./utilities";
|
|
||||||
|
|
||||||
export class Provider extends pulumi.ProviderResource {
|
|
||||||
/** @internal */
|
|
||||||
public static readonly __pulumiType = 'docker-native';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the given object is an instance of Provider. This is designed to work even
|
|
||||||
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
||||||
*/
|
|
||||||
public static isInstance(obj: any): obj is Provider {
|
|
||||||
if (obj === undefined || obj === null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a Provider resource with the given unique name, arguments, and options.
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resource.
|
|
||||||
* @param args The arguments to use to populate this resource's properties.
|
|
||||||
* @param opts A bag of options that control this resource's behavior.
|
|
||||||
*/
|
|
||||||
constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions) {
|
|
||||||
let resourceInputs: pulumi.Inputs = {};
|
|
||||||
opts = opts || {};
|
|
||||||
{
|
|
||||||
}
|
|
||||||
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
||||||
super(Provider.__pulumiType, name, resourceInputs, opts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The set of arguments for constructing a Provider resource.
|
|
||||||
*/
|
|
||||||
export interface ProviderArgs {
|
|
||||||
}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
import * as pulumi from "@pulumi/pulumi";
|
|
||||||
import * as utilities from "./utilities";
|
|
||||||
|
|
||||||
export class Random extends pulumi.CustomResource {
|
|
||||||
/**
|
|
||||||
* Get an existing Random resource's state with the given name, ID, and optional extra
|
|
||||||
* properties used to qualify the lookup.
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resulting resource.
|
|
||||||
* @param id The _unique_ provider ID of the resource to lookup.
|
|
||||||
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
||||||
*/
|
|
||||||
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Random {
|
|
||||||
return new Random(name, undefined as any, { ...opts, id: id });
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @internal */
|
|
||||||
public static readonly __pulumiType = 'docker-native:index:Random';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the given object is an instance of Random. This is designed to work even
|
|
||||||
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
||||||
*/
|
|
||||||
public static isInstance(obj: any): obj is Random {
|
|
||||||
if (obj === undefined || obj === null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return obj['__pulumiType'] === Random.__pulumiType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public readonly length!: pulumi.Output<number>;
|
|
||||||
public /*out*/ readonly result!: pulumi.Output<string>;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a Random resource with the given unique name, arguments, and options.
|
|
||||||
*
|
|
||||||
* @param name The _unique_ name of the resource.
|
|
||||||
* @param args The arguments to use to populate this resource's properties.
|
|
||||||
* @param opts A bag of options that control this resource's behavior.
|
|
||||||
*/
|
|
||||||
constructor(name: string, args: RandomArgs, opts?: pulumi.CustomResourceOptions) {
|
|
||||||
let resourceInputs: pulumi.Inputs = {};
|
|
||||||
opts = opts || {};
|
|
||||||
if (!opts.id) {
|
|
||||||
if ((!args || args.length === undefined) && !opts.urn) {
|
|
||||||
throw new Error("Missing required property 'length'");
|
|
||||||
}
|
|
||||||
resourceInputs["length"] = args ? args.length : undefined;
|
|
||||||
resourceInputs["result"] = undefined /*out*/;
|
|
||||||
} else {
|
|
||||||
resourceInputs["length"] = undefined /*out*/;
|
|
||||||
resourceInputs["result"] = undefined /*out*/;
|
|
||||||
}
|
|
||||||
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
||||||
super(Random.__pulumiType, name, resourceInputs, opts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The set of arguments for constructing a Random resource.
|
|
||||||
*/
|
|
||||||
export interface RandomArgs {
|
|
||||||
length: pulumi.Input<number>;
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "bin",
|
|
||||||
"target": "es2016",
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"declaration": true,
|
|
||||||
"sourceMap": true,
|
|
||||||
"stripInternal": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"noFallthroughCasesInSwitch": true,
|
|
||||||
"forceConsistentCasingInFileNames": true,
|
|
||||||
"strict": true
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"index.ts",
|
|
||||||
"provider.ts",
|
|
||||||
"random.ts",
|
|
||||||
"utilities.ts"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
||||||
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
|
|
||||||
import * as runtime from "@pulumi/pulumi/runtime";
|
|
||||||
import * as pulumi from "@pulumi/pulumi";
|
|
||||||
|
|
||||||
export function getEnv(...vars: string[]): string | undefined {
|
|
||||||
for (const v of vars) {
|
|
||||||
const value = process.env[v];
|
|
||||||
if (value) {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getEnvBoolean(...vars: string[]): boolean | undefined {
|
|
||||||
const s = getEnv(...vars);
|
|
||||||
if (s !== undefined) {
|
|
||||||
// NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what
|
|
||||||
// Terraform uses internally when parsing boolean values.
|
|
||||||
if (["1", "t", "T", "true", "TRUE", "True"].find(v => v === s) !== undefined) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (["0", "f", "F", "false", "FALSE", "False"].find(v => v === s) !== undefined) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getEnvNumber(...vars: string[]): number | undefined {
|
|
||||||
const s = getEnv(...vars);
|
|
||||||
if (s !== undefined) {
|
|
||||||
const f = parseFloat(s);
|
|
||||||
if (!isNaN(f)) {
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getVersion(): string {
|
|
||||||
let version = require('./package.json').version;
|
|
||||||
// Node allows for the version to be prefixed by a "v", while semver doesn't.
|
|
||||||
// If there is a v, strip it off.
|
|
||||||
if (version.indexOf('v') === 0) {
|
|
||||||
version = version.slice(1);
|
|
||||||
}
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @internal */
|
|
||||||
export function resourceOptsDefaults(): any {
|
|
||||||
return { version: getVersion(), pluginDownloadURL: "github.com/pulumi/pulumi-docker-native" };
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @internal */
|
|
||||||
export function lazyLoad(exports: any, props: string[], loadModule: any) {
|
|
||||||
for (let property of props) {
|
|
||||||
Object.defineProperty(exports, property, {
|
|
||||||
enumerable: true,
|
|
||||||
get: function() {
|
|
||||||
return loadModule()[property];
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function callAsync<T>(
|
|
||||||
tok: string,
|
|
||||||
props: pulumi.Inputs,
|
|
||||||
res?: pulumi.Resource,
|
|
||||||
opts?: {property?: string},
|
|
||||||
): Promise<T> {
|
|
||||||
const o: any = runtime.call<T>(tok, props, res);
|
|
||||||
const value = await o.promise(true /*withUnknowns*/);
|
|
||||||
const isKnown = await o.isKnown;
|
|
||||||
const isSecret = await o.isSecret;
|
|
||||||
const problem: string|undefined =
|
|
||||||
!isKnown ? "an unknown value"
|
|
||||||
: isSecret ? "a secret value"
|
|
||||||
: undefined;
|
|
||||||
// Ingoring o.resources silently. They are typically non-empty, r.f() calls include r as a dependency.
|
|
||||||
if (problem) {
|
|
||||||
throw new Error(`Plain resource method "${tok}" incorrectly returned ${problem}. ` +
|
|
||||||
"This is an error in the provider, please report this to the provider developer.");
|
|
||||||
}
|
|
||||||
// Extract a single property if requested.
|
|
||||||
if (opts && opts.property) {
|
|
||||||
return value[opts.property];
|
|
||||||
}
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
# Pulumi Native Provider Boilerplate
|
|
||||||
|
|
||||||
This repository is a boilerplate showing how to create and locally test a native Pulumi provider.
|
|
||||||
|
|
||||||
## Authoring a Pulumi Native Provider
|
|
||||||
|
|
||||||
This boilerplate creates a working Pulumi-owned provider named `xyz`.
|
|
||||||
It implements a random number generator that you can [build and test out for yourself](#test-against-the-example) and then replace the Random code with code specific to your provider.
|
|
||||||
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
Prerequisites for this repository are already satisfied by the [Pulumi Devcontainer](https://github.com/pulumi/devcontainer) if you are using Github Codespaces, or VSCode.
|
|
||||||
|
|
||||||
If you are not using VSCode, you will need to ensure the following tools are installed and present in your `$PATH`:
|
|
||||||
|
|
||||||
* [`pulumictl`](https://github.com/pulumi/pulumictl#installation)
|
|
||||||
* [Go 1.21](https://golang.org/dl/) or 1.latest
|
|
||||||
* [NodeJS](https://nodejs.org/en/) 14.x. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations.
|
|
||||||
* [Yarn](https://yarnpkg.com/)
|
|
||||||
* [TypeScript](https://www.typescriptlang.org/)
|
|
||||||
* [Python](https://www.python.org/downloads/) (called as `python3`). For recent versions of MacOS, the system-installed version is fine.
|
|
||||||
* [.NET](https://dotnet.microsoft.com/download)
|
|
||||||
|
|
||||||
|
|
||||||
### Build & test the boilerplate XYZ provider
|
|
||||||
|
|
||||||
1. Create a new Github CodeSpaces environment using this repository.
|
|
||||||
1. Open a terminal in the CodeSpaces environment.
|
|
||||||
1. Run `make build install` to build and install the provider.
|
|
||||||
1. Run `make gen_examples` to generate the example programs in `examples/` off of the source `examples/yaml` example program.
|
|
||||||
1. Run `make up` to run the example program in `examples/yaml`.
|
|
||||||
1. Run `make down` to tear down the example program.
|
|
||||||
|
|
||||||
### Creating a new provider repository
|
|
||||||
|
|
||||||
Pulumi offers this repository as a [GitHub template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) for convenience. From this repository:
|
|
||||||
|
|
||||||
1. Click "Use this template".
|
|
||||||
1. Set the following options:
|
|
||||||
* Owner: pulumi
|
|
||||||
* Repository name: pulumi-xyz-native (replace "xyz" with the name of your provider)
|
|
||||||
* Description: Pulumi provider for xyz
|
|
||||||
* Repository type: Public
|
|
||||||
1. Clone the generated repository.
|
|
||||||
|
|
||||||
From the templated repository:
|
|
||||||
|
|
||||||
1. Search-replace `xyz` with the name of your desired provider.
|
|
||||||
|
|
||||||
#### Build the provider and install the plugin
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ make build install
|
|
||||||
```
|
|
||||||
|
|
||||||
This will:
|
|
||||||
|
|
||||||
1. Create the SDK codegen binary and place it in a `./bin` folder (gitignored)
|
|
||||||
2. Create the provider binary and place it in the `./bin` folder (gitignored)
|
|
||||||
3. Generate the dotnet, Go, Node, and Python SDKs and place them in the `./sdk` folder
|
|
||||||
4. Install the provider on your machine.
|
|
||||||
|
|
||||||
#### Test against the example
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ cd examples/simple
|
|
||||||
$ yarn link @pulumi/xyz
|
|
||||||
$ yarn install
|
|
||||||
$ pulumi stack init test
|
|
||||||
$ pulumi up
|
|
||||||
```
|
|
||||||
|
|
||||||
Now that you have completed all of the above steps, you have a working provider that generates a random string for you.
|
|
||||||
|
|
||||||
#### A brief repository overview
|
|
||||||
|
|
||||||
You now have:
|
|
||||||
|
|
||||||
1. A `provider/` folder containing the building and implementation logic
|
|
||||||
1. `cmd/pulumi-resource-xyz/main.go` - holds the provider's sample implementation logic.
|
|
||||||
2. `deployment-templates` - a set of files to help you around deployment and publication
|
|
||||||
3. `sdk` - holds the generated code libraries created by `pulumi-gen-xyz/main.go`
|
|
||||||
4. `examples` a folder of Pulumi programs to try locally and/or use in CI.
|
|
||||||
5. A `Makefile` and this `README`.
|
|
||||||
|
|
||||||
#### Additional Details
|
|
||||||
|
|
||||||
This repository depends on the pulumi-go-provider library. For more details on building providers, please check
|
|
||||||
the [Pulumi Go Provider docs](https://github.com/pulumi/pulumi-go-provider).
|
|
||||||
|
|
||||||
### Build Examples
|
|
||||||
|
|
||||||
Create an example program using the resources defined in your provider, and place it in the `examples/` folder.
|
|
||||||
|
|
||||||
You can now repeat the steps for [build, install, and test](#test-against-the-example).
|
|
||||||
|
|
||||||
## Configuring CI and releases
|
|
||||||
|
|
||||||
1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md).
|
|
||||||
|
|
||||||
## References
|
|
||||||
|
|
||||||
Other resources/examples for implementing providers:
|
|
||||||
* [Pulumi Command provider](https://github.com/pulumi/pulumi-command/blob/master/provider/pkg/provider/provider.go)
|
|
||||||
* [Pulumi Go Provider repository](https://github.com/pulumi/pulumi-go-provider)
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Description
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
# coding=utf-8
|
|
||||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
||||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
from . import _utilities
|
|
||||||
import typing
|
|
||||||
# Export this package's modules as members:
|
|
||||||
from .provider import *
|
|
||||||
from .random import *
|
|
||||||
_utilities.register(
|
|
||||||
resource_modules="""
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"pkg": "docker-native",
|
|
||||||
"mod": "index",
|
|
||||||
"fqn": "pulumi_docker_native",
|
|
||||||
"classes": {
|
|
||||||
"docker-native:index:Random": "Random"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
""",
|
|
||||||
resource_packages="""
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"pkg": "docker-native",
|
|
||||||
"token": "pulumi:providers:docker-native",
|
|
||||||
"fqn": "pulumi_docker_native",
|
|
||||||
"class": "Provider"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
@@ -1,291 +0,0 @@
|
|||||||
# coding=utf-8
|
|
||||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
||||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
|
|
||||||
import asyncio
|
|
||||||
import importlib.metadata
|
|
||||||
import importlib.util
|
|
||||||
import inspect
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import typing
|
|
||||||
|
|
||||||
import pulumi
|
|
||||||
import pulumi.runtime
|
|
||||||
from pulumi.runtime.sync_await import _sync_await
|
|
||||||
|
|
||||||
from semver import VersionInfo as SemverVersion
|
|
||||||
from parver import Version as PEP440Version
|
|
||||||
|
|
||||||
|
|
||||||
def get_env(*args):
|
|
||||||
for v in args:
|
|
||||||
value = os.getenv(v)
|
|
||||||
if value is not None:
|
|
||||||
return value
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def get_env_bool(*args):
|
|
||||||
str = get_env(*args)
|
|
||||||
if str is not None:
|
|
||||||
# NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what
|
|
||||||
# Terraform uses internally when parsing boolean values.
|
|
||||||
if str in ["1", "t", "T", "true", "TRUE", "True"]:
|
|
||||||
return True
|
|
||||||
if str in ["0", "f", "F", "false", "FALSE", "False"]:
|
|
||||||
return False
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def get_env_int(*args):
|
|
||||||
str = get_env(*args)
|
|
||||||
if str is not None:
|
|
||||||
try:
|
|
||||||
return int(str)
|
|
||||||
except:
|
|
||||||
return None
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def get_env_float(*args):
|
|
||||||
str = get_env(*args)
|
|
||||||
if str is not None:
|
|
||||||
try:
|
|
||||||
return float(str)
|
|
||||||
except:
|
|
||||||
return None
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def _get_semver_version():
|
|
||||||
# __name__ is set to the fully-qualified name of the current module, In our case, it will be
|
|
||||||
# <some module>._utilities. <some module> is the module we want to query the version for.
|
|
||||||
root_package, *rest = __name__.split('.')
|
|
||||||
|
|
||||||
# pkg_resources uses setuptools to inspect the set of installed packages. We use it here to ask
|
|
||||||
# for the currently installed version of the root package (i.e. us) and get its version.
|
|
||||||
|
|
||||||
# Unfortunately, PEP440 and semver differ slightly in incompatible ways. The Pulumi engine expects
|
|
||||||
# to receive a valid semver string when receiving requests from the language host, so it's our
|
|
||||||
# responsibility as the library to convert our own PEP440 version into a valid semver string.
|
|
||||||
|
|
||||||
pep440_version_string = importlib.metadata.version(root_package)
|
|
||||||
pep440_version = PEP440Version.parse(pep440_version_string)
|
|
||||||
(major, minor, patch) = pep440_version.release
|
|
||||||
prerelease = None
|
|
||||||
if pep440_version.pre_tag == 'a':
|
|
||||||
prerelease = f"alpha.{pep440_version.pre}"
|
|
||||||
elif pep440_version.pre_tag == 'b':
|
|
||||||
prerelease = f"beta.{pep440_version.pre}"
|
|
||||||
elif pep440_version.pre_tag == 'rc':
|
|
||||||
prerelease = f"rc.{pep440_version.pre}"
|
|
||||||
elif pep440_version.dev is not None:
|
|
||||||
prerelease = f"dev.{pep440_version.dev}"
|
|
||||||
|
|
||||||
# The only significant difference between PEP440 and semver as it pertains to us is that PEP440 has explicit support
|
|
||||||
# for dev builds, while semver encodes them as "prerelease" versions. In order to bridge between the two, we convert
|
|
||||||
# our dev build version into a prerelease tag. This matches what all of our other packages do when constructing
|
|
||||||
# their own semver string.
|
|
||||||
return SemverVersion(major=major, minor=minor, patch=patch, prerelease=prerelease)
|
|
||||||
|
|
||||||
|
|
||||||
# Determine the version once and cache the value, which measurably improves program performance.
|
|
||||||
_version = _get_semver_version()
|
|
||||||
_version_str = str(_version)
|
|
||||||
|
|
||||||
|
|
||||||
def get_version():
|
|
||||||
return _version_str
|
|
||||||
|
|
||||||
def get_resource_opts_defaults() -> pulumi.ResourceOptions:
|
|
||||||
return pulumi.ResourceOptions(
|
|
||||||
version=get_version(),
|
|
||||||
plugin_download_url=get_plugin_download_url(),
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_invoke_opts_defaults() -> pulumi.InvokeOptions:
|
|
||||||
return pulumi.InvokeOptions(
|
|
||||||
version=get_version(),
|
|
||||||
plugin_download_url=get_plugin_download_url(),
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs):
|
|
||||||
"""
|
|
||||||
Return the resource args and options given the *args and **kwargs of a resource's
|
|
||||||
__init__ method.
|
|
||||||
"""
|
|
||||||
|
|
||||||
resource_args, opts = None, None
|
|
||||||
|
|
||||||
# If the first item is the resource args type, save it and remove it from the args list.
|
|
||||||
if args and isinstance(args[0], resource_args_type):
|
|
||||||
resource_args, args = args[0], args[1:]
|
|
||||||
|
|
||||||
# Now look at the first item in the args list again.
|
|
||||||
# If the first item is the resource options class, save it.
|
|
||||||
if args and isinstance(args[0], resource_options_type):
|
|
||||||
opts = args[0]
|
|
||||||
|
|
||||||
# If resource_args is None, see if "args" is in kwargs, and, if so, if it's typed as the
|
|
||||||
# the resource args type.
|
|
||||||
if resource_args is None:
|
|
||||||
a = kwargs.get("args")
|
|
||||||
if isinstance(a, resource_args_type):
|
|
||||||
resource_args = a
|
|
||||||
|
|
||||||
# If opts is None, look it up in kwargs.
|
|
||||||
if opts is None:
|
|
||||||
opts = kwargs.get("opts")
|
|
||||||
|
|
||||||
return resource_args, opts
|
|
||||||
|
|
||||||
|
|
||||||
# Temporary: just use pulumi._utils.lazy_import once everyone upgrades.
|
|
||||||
def lazy_import(fullname):
|
|
||||||
|
|
||||||
import pulumi._utils as u
|
|
||||||
f = getattr(u, 'lazy_import', None)
|
|
||||||
if f is None:
|
|
||||||
f = _lazy_import_temp
|
|
||||||
|
|
||||||
return f(fullname)
|
|
||||||
|
|
||||||
|
|
||||||
# Copied from pulumi._utils.lazy_import, see comments there.
|
|
||||||
def _lazy_import_temp(fullname):
|
|
||||||
m = sys.modules.get(fullname, None)
|
|
||||||
if m is not None:
|
|
||||||
return m
|
|
||||||
|
|
||||||
spec = importlib.util.find_spec(fullname)
|
|
||||||
|
|
||||||
m = sys.modules.get(fullname, None)
|
|
||||||
if m is not None:
|
|
||||||
return m
|
|
||||||
|
|
||||||
loader = importlib.util.LazyLoader(spec.loader)
|
|
||||||
spec.loader = loader
|
|
||||||
module = importlib.util.module_from_spec(spec)
|
|
||||||
|
|
||||||
m = sys.modules.get(fullname, None)
|
|
||||||
if m is not None:
|
|
||||||
return m
|
|
||||||
|
|
||||||
sys.modules[fullname] = module
|
|
||||||
loader.exec_module(module)
|
|
||||||
return module
|
|
||||||
|
|
||||||
|
|
||||||
class Package(pulumi.runtime.ResourcePackage):
|
|
||||||
def __init__(self, pkg_info):
|
|
||||||
super().__init__()
|
|
||||||
self.pkg_info = pkg_info
|
|
||||||
|
|
||||||
def version(self):
|
|
||||||
return _version
|
|
||||||
|
|
||||||
def construct_provider(self, name: str, typ: str, urn: str) -> pulumi.ProviderResource:
|
|
||||||
if typ != self.pkg_info['token']:
|
|
||||||
raise Exception(f"unknown provider type {typ}")
|
|
||||||
Provider = getattr(lazy_import(self.pkg_info['fqn']), self.pkg_info['class'])
|
|
||||||
return Provider(name, pulumi.ResourceOptions(urn=urn))
|
|
||||||
|
|
||||||
|
|
||||||
class Module(pulumi.runtime.ResourceModule):
|
|
||||||
def __init__(self, mod_info):
|
|
||||||
super().__init__()
|
|
||||||
self.mod_info = mod_info
|
|
||||||
|
|
||||||
def version(self):
|
|
||||||
return _version
|
|
||||||
|
|
||||||
def construct(self, name: str, typ: str, urn: str) -> pulumi.Resource:
|
|
||||||
class_name = self.mod_info['classes'].get(typ, None)
|
|
||||||
|
|
||||||
if class_name is None:
|
|
||||||
raise Exception(f"unknown resource type {typ}")
|
|
||||||
|
|
||||||
TheClass = getattr(lazy_import(self.mod_info['fqn']), class_name)
|
|
||||||
return TheClass(name, pulumi.ResourceOptions(urn=urn))
|
|
||||||
|
|
||||||
|
|
||||||
def register(resource_modules, resource_packages):
|
|
||||||
resource_modules = json.loads(resource_modules)
|
|
||||||
resource_packages = json.loads(resource_packages)
|
|
||||||
|
|
||||||
for pkg_info in resource_packages:
|
|
||||||
pulumi.runtime.register_resource_package(pkg_info['pkg'], Package(pkg_info))
|
|
||||||
|
|
||||||
for mod_info in resource_modules:
|
|
||||||
pulumi.runtime.register_resource_module(
|
|
||||||
mod_info['pkg'],
|
|
||||||
mod_info['mod'],
|
|
||||||
Module(mod_info))
|
|
||||||
|
|
||||||
|
|
||||||
_F = typing.TypeVar('_F', bound=typing.Callable[..., typing.Any])
|
|
||||||
|
|
||||||
|
|
||||||
def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]:
|
|
||||||
"""Decorator internally used on {fn}_output lifted function versions
|
|
||||||
to implement them automatically from the un-lifted function."""
|
|
||||||
|
|
||||||
func_sig = inspect.signature(func)
|
|
||||||
|
|
||||||
def lifted_func(*args, opts=None, **kwargs):
|
|
||||||
bound_args = func_sig.bind(*args, **kwargs)
|
|
||||||
# Convert tuple to list, see pulumi/pulumi#8172
|
|
||||||
args_list = list(bound_args.args)
|
|
||||||
return pulumi.Output.from_input({
|
|
||||||
'args': args_list,
|
|
||||||
'kwargs': bound_args.kwargs
|
|
||||||
}).apply(lambda resolved_args: func(*resolved_args['args'],
|
|
||||||
opts=opts,
|
|
||||||
**resolved_args['kwargs']))
|
|
||||||
|
|
||||||
return (lambda _: lifted_func)
|
|
||||||
|
|
||||||
|
|
||||||
def call_plain(
|
|
||||||
tok: str,
|
|
||||||
props: pulumi.Inputs,
|
|
||||||
res: typing.Optional[pulumi.Resource] = None,
|
|
||||||
typ: typing.Optional[type] = None,
|
|
||||||
) -> typing.Any:
|
|
||||||
"""
|
|
||||||
Wraps pulumi.runtime.plain to force the output and return it plainly.
|
|
||||||
"""
|
|
||||||
|
|
||||||
output = pulumi.runtime.call(tok, props, res, typ)
|
|
||||||
|
|
||||||
# Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
|
|
||||||
result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
|
|
||||||
|
|
||||||
problem = None
|
|
||||||
if not known:
|
|
||||||
problem = ' an unknown value'
|
|
||||||
elif secret:
|
|
||||||
problem = ' a secret value'
|
|
||||||
|
|
||||||
if problem:
|
|
||||||
raise AssertionError(
|
|
||||||
f"Plain resource method '{tok}' incorrectly returned {problem}. "
|
|
||||||
+ "This is an error in the provider, please report this to the provider developer."
|
|
||||||
)
|
|
||||||
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]:
|
|
||||||
return (
|
|
||||||
await o._future,
|
|
||||||
await o._is_known,
|
|
||||||
await o._is_secret,
|
|
||||||
await o._resources,
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_plugin_download_url():
|
|
||||||
return "github.com/pulumi/pulumi-docker-native"
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
# coding=utf-8
|
|
||||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
||||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
import copy
|
|
||||||
import warnings
|
|
||||||
import pulumi
|
|
||||||
import pulumi.runtime
|
|
||||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
||||||
from . import _utilities
|
|
||||||
|
|
||||||
__all__ = ['ProviderArgs', 'Provider']
|
|
||||||
|
|
||||||
@pulumi.input_type
|
|
||||||
class ProviderArgs:
|
|
||||||
def __init__(__self__):
|
|
||||||
"""
|
|
||||||
The set of arguments for constructing a Provider resource.
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class Provider(pulumi.ProviderResource):
|
|
||||||
@overload
|
|
||||||
def __init__(__self__,
|
|
||||||
resource_name: str,
|
|
||||||
opts: Optional[pulumi.ResourceOptions] = None,
|
|
||||||
__props__=None):
|
|
||||||
"""
|
|
||||||
Create a Docker-native resource with the given unique name, props, and options.
|
|
||||||
:param str resource_name: The name of the resource.
|
|
||||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
||||||
"""
|
|
||||||
...
|
|
||||||
@overload
|
|
||||||
def __init__(__self__,
|
|
||||||
resource_name: str,
|
|
||||||
args: Optional[ProviderArgs] = None,
|
|
||||||
opts: Optional[pulumi.ResourceOptions] = None):
|
|
||||||
"""
|
|
||||||
Create a Docker-native resource with the given unique name, props, and options.
|
|
||||||
:param str resource_name: The name of the resource.
|
|
||||||
:param ProviderArgs args: The arguments to use to populate this resource's properties.
|
|
||||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
||||||
"""
|
|
||||||
...
|
|
||||||
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
||||||
resource_args, opts = _utilities.get_resource_args_opts(ProviderArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
||||||
if resource_args is not None:
|
|
||||||
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
||||||
else:
|
|
||||||
__self__._internal_init(resource_name, *args, **kwargs)
|
|
||||||
|
|
||||||
def _internal_init(__self__,
|
|
||||||
resource_name: str,
|
|
||||||
opts: Optional[pulumi.ResourceOptions] = None,
|
|
||||||
__props__=None):
|
|
||||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
||||||
if not isinstance(opts, pulumi.ResourceOptions):
|
|
||||||
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
||||||
if opts.id is None:
|
|
||||||
if __props__ is not None:
|
|
||||||
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
||||||
__props__ = ProviderArgs.__new__(ProviderArgs)
|
|
||||||
|
|
||||||
super(Provider, __self__).__init__(
|
|
||||||
'docker-native',
|
|
||||||
resource_name,
|
|
||||||
__props__,
|
|
||||||
opts)
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"resource": true,
|
|
||||||
"name": "docker-native",
|
|
||||||
"server": "github.com/pulumi/pulumi-docker-native"
|
|
||||||
}
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
# coding=utf-8
|
|
||||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
||||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
import copy
|
|
||||||
import warnings
|
|
||||||
import pulumi
|
|
||||||
import pulumi.runtime
|
|
||||||
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
||||||
from . import _utilities
|
|
||||||
|
|
||||||
__all__ = ['RandomArgs', 'Random']
|
|
||||||
|
|
||||||
@pulumi.input_type
|
|
||||||
class RandomArgs:
|
|
||||||
def __init__(__self__, *,
|
|
||||||
length: pulumi.Input[int]):
|
|
||||||
"""
|
|
||||||
The set of arguments for constructing a Random resource.
|
|
||||||
"""
|
|
||||||
pulumi.set(__self__, "length", length)
|
|
||||||
|
|
||||||
@property
|
|
||||||
@pulumi.getter
|
|
||||||
def length(self) -> pulumi.Input[int]:
|
|
||||||
return pulumi.get(self, "length")
|
|
||||||
|
|
||||||
@length.setter
|
|
||||||
def length(self, value: pulumi.Input[int]):
|
|
||||||
pulumi.set(self, "length", value)
|
|
||||||
|
|
||||||
|
|
||||||
class Random(pulumi.CustomResource):
|
|
||||||
@overload
|
|
||||||
def __init__(__self__,
|
|
||||||
resource_name: str,
|
|
||||||
opts: Optional[pulumi.ResourceOptions] = None,
|
|
||||||
length: Optional[pulumi.Input[int]] = None,
|
|
||||||
__props__=None):
|
|
||||||
"""
|
|
||||||
Create a Random resource with the given unique name, props, and options.
|
|
||||||
:param str resource_name: The name of the resource.
|
|
||||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
||||||
"""
|
|
||||||
...
|
|
||||||
@overload
|
|
||||||
def __init__(__self__,
|
|
||||||
resource_name: str,
|
|
||||||
args: RandomArgs,
|
|
||||||
opts: Optional[pulumi.ResourceOptions] = None):
|
|
||||||
"""
|
|
||||||
Create a Random resource with the given unique name, props, and options.
|
|
||||||
:param str resource_name: The name of the resource.
|
|
||||||
:param RandomArgs args: The arguments to use to populate this resource's properties.
|
|
||||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
||||||
"""
|
|
||||||
...
|
|
||||||
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
||||||
resource_args, opts = _utilities.get_resource_args_opts(RandomArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
||||||
if resource_args is not None:
|
|
||||||
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
||||||
else:
|
|
||||||
__self__._internal_init(resource_name, *args, **kwargs)
|
|
||||||
|
|
||||||
def _internal_init(__self__,
|
|
||||||
resource_name: str,
|
|
||||||
opts: Optional[pulumi.ResourceOptions] = None,
|
|
||||||
length: Optional[pulumi.Input[int]] = None,
|
|
||||||
__props__=None):
|
|
||||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
||||||
if not isinstance(opts, pulumi.ResourceOptions):
|
|
||||||
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
||||||
if opts.id is None:
|
|
||||||
if __props__ is not None:
|
|
||||||
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
||||||
__props__ = RandomArgs.__new__(RandomArgs)
|
|
||||||
|
|
||||||
if length is None and not opts.urn:
|
|
||||||
raise TypeError("Missing required property 'length'")
|
|
||||||
__props__.__dict__["length"] = length
|
|
||||||
__props__.__dict__["result"] = None
|
|
||||||
super(Random, __self__).__init__(
|
|
||||||
'docker-native:index:Random',
|
|
||||||
resource_name,
|
|
||||||
__props__,
|
|
||||||
opts)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def get(resource_name: str,
|
|
||||||
id: pulumi.Input[str],
|
|
||||||
opts: Optional[pulumi.ResourceOptions] = None) -> 'Random':
|
|
||||||
"""
|
|
||||||
Get an existing Random resource's state with the given name, id, and optional extra
|
|
||||||
properties used to qualify the lookup.
|
|
||||||
|
|
||||||
:param str resource_name: The unique name of the resulting resource.
|
|
||||||
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
||||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
||||||
"""
|
|
||||||
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
||||||
|
|
||||||
__props__ = RandomArgs.__new__(RandomArgs)
|
|
||||||
|
|
||||||
__props__.__dict__["length"] = None
|
|
||||||
__props__.__dict__["result"] = None
|
|
||||||
return Random(resource_name, opts=opts, __props__=__props__)
|
|
||||||
|
|
||||||
@property
|
|
||||||
@pulumi.getter
|
|
||||||
def length(self) -> pulumi.Output[int]:
|
|
||||||
return pulumi.get(self, "length")
|
|
||||||
|
|
||||||
@property
|
|
||||||
@pulumi.getter
|
|
||||||
def result(self) -> pulumi.Output[str]:
|
|
||||||
return pulumi.get(self, "result")
|
|
||||||
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
# coding=utf-8
|
|
||||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
||||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
||||||
|
|
||||||
import errno
|
|
||||||
import os
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
from setuptools.command.install import install
|
|
||||||
from subprocess import check_call
|
|
||||||
|
|
||||||
|
|
||||||
VERSION = os.getenv("PULUMI_PYTHON_VERSION", "0.0.0")
|
|
||||||
def readme():
|
|
||||||
try:
|
|
||||||
with open('README.md', encoding='utf-8') as f:
|
|
||||||
return f.read()
|
|
||||||
except FileNotFoundError:
|
|
||||||
return "docker-native Pulumi Package - Development Version"
|
|
||||||
|
|
||||||
|
|
||||||
setup(name='pulumi_docker_native',
|
|
||||||
python_requires='>=3.8',
|
|
||||||
version=VERSION,
|
|
||||||
description="Description",
|
|
||||||
long_description=readme(),
|
|
||||||
long_description_content_type='text/markdown',
|
|
||||||
keywords='keywords',
|
|
||||||
url='pulumi.com',
|
|
||||||
project_urls={
|
|
||||||
'Repository': 'https://github.com/pulumi/pulumi-docker-native'
|
|
||||||
},
|
|
||||||
packages=find_packages(),
|
|
||||||
package_data={
|
|
||||||
'pulumi_docker_native': [
|
|
||||||
'py.typed',
|
|
||||||
'pulumi-plugin.json',
|
|
||||||
]
|
|
||||||
},
|
|
||||||
install_requires=[
|
|
||||||
'parver>=0.2.1',
|
|
||||||
'pulumi',
|
|
||||||
'semver>=2.8.1'
|
|
||||||
],
|
|
||||||
zip_safe=False)
|
|
||||||
197
tests/go.mod
197
tests/go.mod
@@ -1,197 +0,0 @@
|
|||||||
module github.com/pulumi/pulumi-docker-native
|
|
||||||
|
|
||||||
go 1.21
|
|
||||||
|
|
||||||
replace github.com/pulumi/pulumi-docker-native/provider => ../provider
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/blang/semver v3.5.1+incompatible
|
|
||||||
github.com/pulumi/pulumi-docker-native/provider v0.0.0-00010101000000-000000000000
|
|
||||||
github.com/pulumi/pulumi-go-provider v0.14.1-0.20240301190400-aeddefa8dc54
|
|
||||||
github.com/pulumi/pulumi-go-provider/integration v0.10.0
|
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.107.0
|
|
||||||
github.com/stretchr/testify v1.8.4
|
|
||||||
)
|
|
||||||
|
|
||||||
require (
|
|
||||||
cloud.google.com/go v0.110.10 // indirect
|
|
||||||
cloud.google.com/go/compute v1.23.3 // indirect
|
|
||||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
|
||||||
cloud.google.com/go/iam v1.1.5 // indirect
|
|
||||||
cloud.google.com/go/kms v1.15.5 // indirect
|
|
||||||
cloud.google.com/go/logging v1.8.1 // indirect
|
|
||||||
cloud.google.com/go/longrunning v0.5.4 // indirect
|
|
||||||
cloud.google.com/go/storage v1.35.1 // indirect
|
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
|
|
||||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect
|
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
|
||||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
|
||||||
github.com/armon/go-metrics v0.4.0 // indirect
|
|
||||||
github.com/armon/go-radix v1.0.0 // indirect
|
|
||||||
github.com/atotto/clipboard v0.1.4 // indirect
|
|
||||||
github.com/aws/aws-sdk-go v1.49.0 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2 v1.24.0 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.26.1 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.12 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/kms v1.27.5 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 // indirect
|
|
||||||
github.com/aws/smithy-go v1.19.0 // indirect
|
|
||||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
|
||||||
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
|
||||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
|
||||||
github.com/charmbracelet/bubbletea v0.24.2 // indirect
|
|
||||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
|
||||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
|
||||||
github.com/cloudflare/circl v1.3.7 // indirect
|
|
||||||
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
|
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
||||||
github.com/deckarep/golang-set/v2 v2.5.0 // indirect
|
|
||||||
github.com/djherbis/times v1.5.0 // indirect
|
|
||||||
github.com/edsrzf/mmap-go v1.1.0 // indirect
|
|
||||||
github.com/emirpasic/gods v1.18.1 // indirect
|
|
||||||
github.com/fatih/color v1.13.0 // indirect
|
|
||||||
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
|
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
|
||||||
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
|
||||||
github.com/gofrs/uuid v4.3.1+incompatible // indirect
|
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
|
||||||
github.com/golang-jwt/jwt/v5 v5.1.0 // indirect
|
|
||||||
github.com/golang/glog v1.1.2 // indirect
|
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
||||||
github.com/golang/protobuf v1.5.3 // indirect
|
|
||||||
github.com/golang/snappy v0.0.4 // indirect
|
|
||||||
github.com/google/go-querystring v1.1.0 // indirect
|
|
||||||
github.com/google/s2a-go v0.1.7 // indirect
|
|
||||||
github.com/google/uuid v1.4.0 // indirect
|
|
||||||
github.com/google/wire v0.5.0 // indirect
|
|
||||||
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
|
|
||||||
github.com/googleapis/gax-go/v2 v2.12.0 // indirect
|
|
||||||
github.com/gorilla/mux v1.8.0 // indirect
|
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
|
||||||
github.com/hashicorp/go-hclog v1.2.2 // indirect
|
|
||||||
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
|
||||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
|
||||||
github.com/hashicorp/go-plugin v1.4.6 // indirect
|
|
||||||
github.com/hashicorp/go-retryablehttp v0.7.1 // indirect
|
|
||||||
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
||||||
github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect
|
|
||||||
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 // indirect
|
|
||||||
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
|
|
||||||
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
|
|
||||||
github.com/hashicorp/go-uuid v1.0.3 // indirect
|
|
||||||
github.com/hashicorp/go-version v1.6.0 // indirect
|
|
||||||
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
|
||||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
||||||
github.com/hashicorp/hcl/v2 v2.18.0 // indirect
|
|
||||||
github.com/hashicorp/vault/api v1.8.2 // indirect
|
|
||||||
github.com/hashicorp/vault/sdk v0.6.1 // indirect
|
|
||||||
github.com/hashicorp/yamux v0.1.1 // indirect
|
|
||||||
github.com/iancoleman/strcase v0.2.0 // indirect
|
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
|
||||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
|
||||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
|
||||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
|
||||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
|
||||||
github.com/mattn/go-colorable v0.1.12 // indirect
|
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
|
||||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
|
||||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
|
||||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
||||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
|
||||||
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
|
|
||||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
|
||||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
||||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
||||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
|
||||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
|
||||||
github.com/muesli/reflow v0.3.0 // indirect
|
|
||||||
github.com/muesli/termenv v0.15.2 // indirect
|
|
||||||
github.com/natefinch/atomic v1.0.1 // indirect
|
|
||||||
github.com/oklog/run v1.1.0 // indirect
|
|
||||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
|
||||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
|
||||||
github.com/pgavlin/fx v0.1.6 // indirect
|
|
||||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
|
||||||
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
|
||||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
|
||||||
github.com/pkg/term v1.1.0 // indirect
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
|
||||||
github.com/pulumi/esc v0.6.2 // indirect
|
|
||||||
github.com/pulumi/pulumi/pkg/v3 v3.107.0 // indirect
|
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
|
||||||
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
|
||||||
github.com/ryanuber/go-glob v1.0.0 // indirect
|
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
|
||||||
github.com/segmentio/asm v1.2.0 // indirect
|
|
||||||
github.com/segmentio/encoding v0.3.6 // indirect
|
|
||||||
github.com/sergi/go-diff v1.3.1 // indirect
|
|
||||||
github.com/skeema/knownhosts v1.2.1 // indirect
|
|
||||||
github.com/spf13/afero v1.9.5 // indirect
|
|
||||||
github.com/spf13/cobra v1.7.0 // indirect
|
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
|
||||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
|
||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
|
||||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
|
|
||||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
|
||||||
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
|
||||||
github.com/zclconf/go-cty v1.14.0 // indirect
|
|
||||||
go.opencensus.io v0.24.0 // indirect
|
|
||||||
go.uber.org/atomic v1.11.0 // indirect
|
|
||||||
gocloud.dev v0.36.0 // indirect
|
|
||||||
gocloud.dev/secrets/hashivault v0.27.0 // indirect
|
|
||||||
golang.org/x/crypto v0.17.0 // indirect
|
|
||||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
|
||||||
golang.org/x/mod v0.14.0 // indirect
|
|
||||||
golang.org/x/net v0.19.0 // indirect
|
|
||||||
golang.org/x/oauth2 v0.14.0 // indirect
|
|
||||||
golang.org/x/sync v0.5.0 // indirect
|
|
||||||
golang.org/x/sys v0.15.0 // indirect
|
|
||||||
golang.org/x/term v0.15.0 // indirect
|
|
||||||
golang.org/x/text v0.14.0 // indirect
|
|
||||||
golang.org/x/time v0.4.0 // indirect
|
|
||||||
golang.org/x/tools v0.15.0 // indirect
|
|
||||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
|
||||||
google.golang.org/api v0.151.0 // indirect
|
|
||||||
google.golang.org/appengine v1.6.8 // indirect
|
|
||||||
google.golang.org/genproto v0.0.0-20231120223509-83a465c0220f // indirect
|
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f // indirect
|
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect
|
|
||||||
google.golang.org/grpc v1.59.0 // indirect
|
|
||||||
google.golang.org/protobuf v1.31.0 // indirect
|
|
||||||
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
||||||
lukechampine.com/frand v1.4.2 // indirect
|
|
||||||
)
|
|
||||||
2638
tests/go.sum
2638
tests/go.sum
File diff suppressed because it is too large
Load Diff
@@ -1,56 +0,0 @@
|
|||||||
// Copyright 2016-2023, Pulumi Corporation.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package tests
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/blang/semver"
|
|
||||||
p "github.com/pulumi/pulumi-go-provider"
|
|
||||||
"github.com/pulumi/pulumi-go-provider/integration"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
|
|
||||||
xyz "github.com/pulumi/pulumi-docker-native/provider"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestRandomCreate(t *testing.T) {
|
|
||||||
prov := provider()
|
|
||||||
|
|
||||||
response, err := prov.Create(p.CreateRequest{
|
|
||||||
Urn: urn("Random"),
|
|
||||||
Properties: resource.PropertyMap{
|
|
||||||
"length": resource.NewNumberProperty(12),
|
|
||||||
},
|
|
||||||
Preview: false,
|
|
||||||
})
|
|
||||||
|
|
||||||
require.NoError(t, err)
|
|
||||||
result := response.Properties["result"].StringValue()
|
|
||||||
assert.Len(t, result, 12)
|
|
||||||
}
|
|
||||||
|
|
||||||
// urn is a helper function to build an urn for running integration tests.
|
|
||||||
func urn(typ string) resource.URN {
|
|
||||||
return resource.NewURN("stack", "proj", "",
|
|
||||||
tokens.Type("test:index:"+typ), "name")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a test server.
|
|
||||||
func provider() integration.Server {
|
|
||||||
return integration.NewServer(xyz.Name, semver.MustParse("1.0.0"), xyz.Provider())
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user