Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Automated regeneration of VMMigration client #10958

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion clients/vm_migration/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# GoogleApi.VMMigration

Migrate to Virtual Machines API client library.
VM Migration API client library.

Use the Migrate to Virtual Machines API to programmatically migrate workloads.

Expand Down
560 changes: 540 additions & 20 deletions clients/vm_migration/lib/google_api/vm_migration/v1/api/projects.ex

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.VMMigration.V1 do
API client metadata for GoogleApi.VMMigration.V1.
"""

@discovery_revision "20221103"
@discovery_revision "20240229"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VMMigration.V1.Model.AccessKeyCredentials do
@moduledoc """
Message describing AWS Credentials using access key id and secret.

## Attributes

* `accessKeyId` (*type:* `String.t`, *default:* `nil`) - AWS access key ID.
* `secretAccessKey` (*type:* `String.t`, *default:* `nil`) - Input only. AWS secret access key.
* `sessionToken` (*type:* `String.t`, *default:* `nil`) - Input only. AWS session token. Used only when AWS security token service (STS) is responsible for creating the temporary credentials.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:accessKeyId => String.t() | nil,
:secretAccessKey => String.t() | nil,
:sessionToken => String.t() | nil
}

field(:accessKeyId)
field(:secretAccessKey)
field(:sessionToken)
end

defimpl Poison.Decoder, for: GoogleApi.VMMigration.V1.Model.AccessKeyCredentials do
def decode(value, options) do
GoogleApi.VMMigration.V1.Model.AccessKeyCredentials.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VMMigration.V1.Model.AccessKeyCredentials do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VMMigration.V1.Model.AwsDiskDetails do
@moduledoc """
The details of an AWS instance disk.

## Attributes

* `diskNumber` (*type:* `integer()`, *default:* `nil`) - The ordinal number of the disk.
* `sizeGb` (*type:* `String.t`, *default:* `nil`) - Size in GB.
* `volumeId` (*type:* `String.t`, *default:* `nil`) - AWS volume ID.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:diskNumber => integer() | nil,
:sizeGb => String.t() | nil,
:volumeId => String.t() | nil
}

field(:diskNumber)
field(:sizeGb)
field(:volumeId)
end

defimpl Poison.Decoder, for: GoogleApi.VMMigration.V1.Model.AwsDiskDetails do
def decode(value, options) do
GoogleApi.VMMigration.V1.Model.AwsDiskDetails.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VMMigration.V1.Model.AwsDiskDetails do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VMMigration.V1.Model.AwsSecurityGroup do
@moduledoc """
AwsSecurityGroup describes a security group of an AWS VM.

## Attributes

* `id` (*type:* `String.t`, *default:* `nil`) - The AWS security group id.
* `name` (*type:* `String.t`, *default:* `nil`) - The AWS security group name.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:id => String.t() | nil,
:name => String.t() | nil
}

field(:id)
field(:name)
end

defimpl Poison.Decoder, for: GoogleApi.VMMigration.V1.Model.AwsSecurityGroup do
def decode(value, options) do
GoogleApi.VMMigration.V1.Model.AwsSecurityGroup.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VMMigration.V1.Model.AwsSecurityGroup do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VMMigration.V1.Model.AwsSourceDetails do
@moduledoc """
AwsSourceDetails message describes a specific source details for the AWS source type.

## Attributes

* `accessKeyCreds` (*type:* `GoogleApi.VMMigration.V1.Model.AccessKeyCredentials.t`, *default:* `nil`) - AWS Credentials using access key id and secret.
* `awsRegion` (*type:* `String.t`, *default:* `nil`) - Immutable. The AWS region that the source VMs will be migrated from.
* `error` (*type:* `GoogleApi.VMMigration.V1.Model.Status.t`, *default:* `nil`) - Output only. Provides details on the state of the Source in case of an error.
* `inventorySecurityGroupNames` (*type:* `list(String.t)`, *default:* `nil`) - AWS security group names to limit the scope of the source inventory.
* `inventoryTagList` (*type:* `list(GoogleApi.VMMigration.V1.Model.Tag.t)`, *default:* `nil`) - AWS resource tags to limit the scope of the source inventory.
* `migrationResourcesUserTags` (*type:* `map()`, *default:* `nil`) - User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`.
* `publicIp` (*type:* `String.t`, *default:* `nil`) - Output only. The source's public IP. All communication initiated by this source will originate from this IP.
* `state` (*type:* `String.t`, *default:* `nil`) - Output only. State of the source as determined by the health check.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:accessKeyCreds => GoogleApi.VMMigration.V1.Model.AccessKeyCredentials.t() | nil,
:awsRegion => String.t() | nil,
:error => GoogleApi.VMMigration.V1.Model.Status.t() | nil,
:inventorySecurityGroupNames => list(String.t()) | nil,
:inventoryTagList => list(GoogleApi.VMMigration.V1.Model.Tag.t()) | nil,
:migrationResourcesUserTags => map() | nil,
:publicIp => String.t() | nil,
:state => String.t() | nil
}

field(:accessKeyCreds, as: GoogleApi.VMMigration.V1.Model.AccessKeyCredentials)
field(:awsRegion)
field(:error, as: GoogleApi.VMMigration.V1.Model.Status)
field(:inventorySecurityGroupNames, type: :list)
field(:inventoryTagList, as: GoogleApi.VMMigration.V1.Model.Tag, type: :list)
field(:migrationResourcesUserTags, type: :map)
field(:publicIp)
field(:state)
end

defimpl Poison.Decoder, for: GoogleApi.VMMigration.V1.Model.AwsSourceDetails do
def decode(value, options) do
GoogleApi.VMMigration.V1.Model.AwsSourceDetails.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VMMigration.V1.Model.AwsSourceDetails do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VMMigration.V1.Model.AwsSourceVmDetails do
@moduledoc """
Represent the source AWS VM details.

## Attributes

* `committedStorageBytes` (*type:* `String.t`, *default:* `nil`) - The total size of the disks being migrated in bytes.
* `disks` (*type:* `list(GoogleApi.VMMigration.V1.Model.AwsDiskDetails.t)`, *default:* `nil`) - The disks attached to the source VM.
* `firmware` (*type:* `String.t`, *default:* `nil`) - The firmware type of the source VM.
* `vmCapabilitiesInfo` (*type:* `GoogleApi.VMMigration.V1.Model.VmCapabilities.t`, *default:* `nil`) - Output only. Information about VM capabilities needed for some Compute Engine features.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:committedStorageBytes => String.t() | nil,
:disks => list(GoogleApi.VMMigration.V1.Model.AwsDiskDetails.t()) | nil,
:firmware => String.t() | nil,
:vmCapabilitiesInfo => GoogleApi.VMMigration.V1.Model.VmCapabilities.t() | nil
}

field(:committedStorageBytes)
field(:disks, as: GoogleApi.VMMigration.V1.Model.AwsDiskDetails, type: :list)
field(:firmware)
field(:vmCapabilitiesInfo, as: GoogleApi.VMMigration.V1.Model.VmCapabilities)
end

defimpl Poison.Decoder, for: GoogleApi.VMMigration.V1.Model.AwsSourceVmDetails do
def decode(value, options) do
GoogleApi.VMMigration.V1.Model.AwsSourceVmDetails.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VMMigration.V1.Model.AwsSourceVmDetails do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VMMigration.V1.Model.AwsVmDetails do
@moduledoc """
AwsVmDetails describes a VM in AWS.

## Attributes

* `architecture` (*type:* `String.t`, *default:* `nil`) - The CPU architecture.
* `bootOption` (*type:* `String.t`, *default:* `nil`) - The VM Boot Option.
* `committedStorageMb` (*type:* `String.t`, *default:* `nil`) - The total size of the storage allocated to the VM in MB.
* `cpuCount` (*type:* `integer()`, *default:* `nil`) - The number of cpus the VM has.
* `diskCount` (*type:* `integer()`, *default:* `nil`) - The number of disks the VM has.
* `displayName` (*type:* `String.t`, *default:* `nil`) - The display name of the VM. Note that this value is not necessarily unique.
* `instanceType` (*type:* `String.t`, *default:* `nil`) - The instance type of the VM.
* `memoryMb` (*type:* `integer()`, *default:* `nil`) - The memory size of the VM in MB.
* `osDescription` (*type:* `String.t`, *default:* `nil`) - The VM's OS.
* `powerState` (*type:* `String.t`, *default:* `nil`) - Output only. The power state of the VM at the moment list was taken.
* `securityGroups` (*type:* `list(GoogleApi.VMMigration.V1.Model.AwsSecurityGroup.t)`, *default:* `nil`) - The security groups the VM belongs to.
* `sourceDescription` (*type:* `String.t`, *default:* `nil`) - The descriptive name of the AWS's source this VM is connected to.
* `sourceId` (*type:* `String.t`, *default:* `nil`) - The id of the AWS's source this VM is connected to.
* `tags` (*type:* `map()`, *default:* `nil`) - The tags of the VM.
* `virtualizationType` (*type:* `String.t`, *default:* `nil`) - The virtualization type.
* `vmId` (*type:* `String.t`, *default:* `nil`) - The VM ID in AWS.
* `vpcId` (*type:* `String.t`, *default:* `nil`) - The VPC ID the VM belongs to.
* `zone` (*type:* `String.t`, *default:* `nil`) - The AWS zone of the VM.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:architecture => String.t() | nil,
:bootOption => String.t() | nil,
:committedStorageMb => String.t() | nil,
:cpuCount => integer() | nil,
:diskCount => integer() | nil,
:displayName => String.t() | nil,
:instanceType => String.t() | nil,
:memoryMb => integer() | nil,
:osDescription => String.t() | nil,
:powerState => String.t() | nil,
:securityGroups => list(GoogleApi.VMMigration.V1.Model.AwsSecurityGroup.t()) | nil,
:sourceDescription => String.t() | nil,
:sourceId => String.t() | nil,
:tags => map() | nil,
:virtualizationType => String.t() | nil,
:vmId => String.t() | nil,
:vpcId => String.t() | nil,
:zone => String.t() | nil
}

field(:architecture)
field(:bootOption)
field(:committedStorageMb)
field(:cpuCount)
field(:diskCount)
field(:displayName)
field(:instanceType)
field(:memoryMb)
field(:osDescription)
field(:powerState)
field(:securityGroups, as: GoogleApi.VMMigration.V1.Model.AwsSecurityGroup, type: :list)
field(:sourceDescription)
field(:sourceId)
field(:tags, type: :map)
field(:virtualizationType)
field(:vmId)
field(:vpcId)
field(:zone)
end

defimpl Poison.Decoder, for: GoogleApi.VMMigration.V1.Model.AwsVmDetails do
def decode(value, options) do
GoogleApi.VMMigration.V1.Model.AwsVmDetails.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VMMigration.V1.Model.AwsVmDetails do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Loading
Loading