def Run(self, args): """Run 'type-providers create'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Raises: HttpException: An http error response was received while executing api request. """ messages = dm_beta_base.GetMessages() type_provider_ref = dm_beta_base.GetResources().Parse( args.provider_name, collection='deploymentmanager.typeProviders') update_labels_dict = labels_util.GetUpdateLabelsDictFromArgs(args) labels = dm_labels.UpdateLabels([], messages.TypeProviderLabelEntry, update_labels=update_labels_dict) type_provider = messages.TypeProvider( name=type_provider_ref.typeProvider, description=args.description, descriptorUrl=args.descriptor_url, labels=labels) type_providers.AddOptions(args.api_options_file, type_provider) request = messages.DeploymentmanagerTypeProvidersInsertRequest( project=type_provider_ref.project, typeProvider=type_provider) dm_write.Execute(request, args. async, dm_beta_base.GetClient().typeProviders.Insert, LogResource)
def testNoTopLevelOptions(self): api_options = self.GetTestFilePath('no_top_level_options.yaml') type_provider = type_providers.AddOptions(self.messages, api_options, self.messages.TypeProvider()) optionless_provider = self.full_type_provider optionless_provider.options = None self.assertEqual(type_provider, optionless_provider)
def Run(self, args): """Run 'type-providers create'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Raises: HttpException: An http error response was received while executing api request. """ type_provider_ref = self.resources.Parse( args.provider_name, params={'project': properties.VALUES.core.project.GetOrFail}, collection='deploymentmanager.typeProviders') update_labels_dict = labels_util.GetUpdateLabelsDictFromArgs(args) labels = dm_labels.UpdateLabels([], self.messages.TypeProviderLabelEntry, update_labels=update_labels_dict) type_provider = self.messages.TypeProvider( name=type_provider_ref.typeProvider, description=args.description, descriptorUrl=args.descriptor_url, labels=labels) type_providers.AddOptions(self.messages, args.api_options_file, type_provider) request = self.messages.DeploymentmanagerTypeProvidersInsertRequest( project=type_provider_ref.project, typeProvider=type_provider) dm_write.Execute(self.client, self.messages, self.resources, request, args. async, self.client.typeProviders.Insert, LogResource)
def testNoCollectionOverrides(self): api_options = self.GetTestFilePath('no_collection_overrides.yaml') type_provider = type_providers.AddOptions(self.messages, api_options, self.messages.TypeProvider()) collectionless_provider = self.full_type_provider collectionless_provider.collectionOverrides = [] self.assertEqual(type_provider, collectionless_provider)
def testNoCredential(self): api_options = self.GetTestFilePath('no_credential.yaml') type_provider = type_providers.AddOptions(self.messages, api_options, self.messages.TypeProvider()) credentialless_provider = self.full_type_provider credentialless_provider.credential = None self.assertEqual(type_provider, credentialless_provider)
def Run(self, args): """Run 'type-providers update'. Args: args: argparse.Namespace, The arguments that this command was invoked with. Raises: HttpException: An http error response was received while executing api request. """ type_provider_ref = type_providers.GetReference(self.resources, args.provider_name) project = type_provider_ref.project name = type_provider_ref.typeProvider get_request = self.messages.DeploymentmanagerTypeProvidersGetRequest( project=project, typeProvider=name) existing_tp = self.client.typeProviders.Get(get_request) labels = dm_labels.UpdateLabels( existing_tp.labels, self.messages.TypeProviderLabelEntry, labels_util.GetUpdateLabelsDictFromArgs(args), labels_util.GetRemoveLabelsListFromArgs(args)) type_provider = self.messages.TypeProvider(name=name, description=args.description, descriptorUrl=(args. descriptor_url), labels=labels) type_providers.AddOptions(self.messages, args.api_options_file, type_provider) update_request = self.messages.DeploymentmanagerTypeProvidersUpdateRequest( project=project, typeProvider=args.provider_name, typeProviderResource=type_provider) dm_write.Execute(self.client, self.messages, self.resources, update_request, args.async_, self.client.typeProviders.Update, LogResource)
def testEmpty(self): api_options = self.GetTestFilePath('empty_config.yaml') type_provider = type_providers.AddOptions(self.messages, api_options, self.messages.TypeProvider()) empty_provider = self.messages.TypeProvider() self.assertEqual(type_provider, empty_provider)
def testFullTypeProviderTranslation(self): api_options = self.GetTestFilePath('full_config.yaml') type_provider = type_providers.AddOptions(self.messages, api_options, self.messages.TypeProvider()) self.assertEqual(type_provider, self.full_type_provider)
def testBadYaml(self): api_options = self.GetTestFilePath('bad_yaml.yaml') with self.assertRaises(yaml.Error): type_providers.AddOptions(self.messages, api_options, self.messages.TypeProvider())
def testNoOptionsFile(self): # Using a string as input ensures the type provider isn't touched self.assertEqual('baz', type_providers.AddOptions(self.messages, '', 'baz')) self.assertEqual('baz', type_providers.AddOptions(self.messages, None, 'baz'))