feat: Add new gcloud commands, API clients, and third-party libraries across various services.

This commit is contained in:
2026-01-01 20:26:35 +01:00
parent 5e23cbece0
commit a19e592eb7
25221 changed files with 8324611 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
# -*- coding: utf-8 -*- #
# Copyright 2018 Google LLC. All Rights Reserved.
#
# 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.
"""The gcloud.app.migrate_config group."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
from googlecloudsdk.calliope import base
@base.ReleaseTracks(base.ReleaseTrack.BETA)
class MigrateConfig(base.Group):
"""Convert configuration files from one format to another.
Automated one-time migration tooling for helping with transition of
configuration from one state to another. Currently exclusively
provides commands for converting datastore-indexes.xml, queue.xml, cron.xml
and dispatch.xml to their yaml counterparts.
"""
category = base.APP_ENGINE_CATEGORY
detailed_help = {
'EXAMPLES': """\
To convert a cron.xml to cron.yaml, run:
$ {command} cron-xml-to-yaml my/app/WEB-INF/cron.xml
""",
}

View File

@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*- #
# Copyright 2018 Google LLC. All Rights Reserved.
#
# 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.
"""The `gcloud app migrate-config cron-xml-to-yaml command."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
import os
from googlecloudsdk.calliope import base
from googlecloudsdk.command_lib.app import migrate_config
class CronXmlToYaml(base.Command):
"""Convert a cron.xml file to cron.yaml."""
@staticmethod
def Args(parser):
parser.add_argument(
'xml_file',
help='Path to the cron.xml file.')
def Run(self, args):
src = os.path.abspath(args.xml_file)
dst = os.path.join(os.path.dirname(src), 'cron.yaml')
entry = migrate_config.REGISTRY['cron-xml-to-yaml']
migrate_config.Run(entry, src=src, dst=dst)
CronXmlToYaml.detailed_help = {
'brief': migrate_config.REGISTRY['cron-xml-to-yaml'].description
}

View File

@@ -0,0 +1,55 @@
# -*- coding: utf-8 -*- #
# Copyright 2018 Google LLC. All Rights Reserved.
#
# 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.
"""The `gcloud app migrate-config datastore-indexes-xml-to-yaml command."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
import os
from googlecloudsdk.calliope import base
from googlecloudsdk.command_lib.app import migrate_config
class DatastoreIndexesXmlToYaml(base.Command):
"""Convert a datastore-indexes.xml file to index.yaml."""
@staticmethod
def Args(parser):
parser.add_argument(
'xml_file',
help='Path to the datastore-indexes.xml file.')
parser.add_argument(
'--generated-indexes-file',
help=('If specified, include the auto-generated xml file too, and '
'merge the resulting entries appropriately. Note that this file '
'is usually named '
'`WEB-INF/appengine-generated/datastore-indexes-auto.xml`.'))
def Run(self, args):
src = os.path.abspath(args.xml_file)
dst = os.path.join(os.path.dirname(src), 'index.yaml')
auto_src = None
if args.generated_indexes_file:
auto_src = os.path.abspath(args.generated_indexes_file)
entry = migrate_config.REGISTRY['datastore-indexes-xml-to-yaml']
migrate_config.Run(entry, src=src, dst=dst, auto_src=auto_src)
DatastoreIndexesXmlToYaml.detailed_help = {
'brief': (migrate_config.REGISTRY['datastore-indexes-xml-to-yaml']
.description)
}

View File

@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*- #
# Copyright 2018 Google LLC. All Rights Reserved.
#
# 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.
"""The `gcloud app migrate-config dispatch-xml-to-yaml command."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
import os
from googlecloudsdk.calliope import base
from googlecloudsdk.command_lib.app import migrate_config
class DispatchXmlToYaml(base.Command):
"""Convert a dispatch.xml file to dispatch.yaml."""
@staticmethod
def Args(parser):
parser.add_argument(
'xml_file',
help='Path to the dispatch.xml file.')
def Run(self, args):
src = os.path.abspath(args.xml_file)
dst = os.path.join(os.path.dirname(src), 'dispatch.yaml')
entry = migrate_config.REGISTRY['dispatch-xml-to-yaml']
migrate_config.Run(entry, src=src, dst=dst)
DispatchXmlToYaml.detailed_help = {
'brief': migrate_config.REGISTRY['dispatch-xml-to-yaml'].description
}

View File

@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*- #
# Copyright 2018 Google LLC. All Rights Reserved.
#
# 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.
"""The `gcloud app migrate-config queue-xml-to-yaml command."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
import os
from googlecloudsdk.calliope import base
from googlecloudsdk.command_lib.app import migrate_config
class QueueXmlToYaml(base.Command):
"""Convert a queue.xml file to queue.yaml."""
@staticmethod
def Args(parser):
parser.add_argument(
'xml_file',
help='Path to the queue.xml file.')
def Run(self, args):
src = os.path.abspath(args.xml_file)
dst = os.path.join(os.path.dirname(src), 'queue.yaml')
entry = migrate_config.REGISTRY['queue-xml-to-yaml']
migrate_config.Run(entry, src=src, dst=dst)
QueueXmlToYaml.detailed_help = {
'brief': migrate_config.REGISTRY['queue-xml-to-yaml'].description
}