From be7dfc89b48309548d71700154001fe99057fc2b Mon Sep 17 00:00:00 2001 From: Nico Andres Date: Tue, 30 Apr 2024 09:17:10 +0200 Subject: [PATCH 1/6] add azurerm_virtual_machine_run_command Signed-off-by: Nico Andres --- config/compute/config.go | 6 ++++++ config/externalname.go | 2 ++ 2 files changed, 8 insertions(+) diff --git a/config/compute/config.go b/config/compute/config.go index 7ef1682cf..0c0df5c5f 100644 --- a/config/compute/config.go +++ b/config/compute/config.go @@ -74,6 +74,12 @@ func Configure(p *config.Provider) { r.Kind = "VirtualMachineExtension" r.ShortGroup = "compute" }) + p.AddResourceConfigurator("azurerm_virtual_machine_run_command", func(r *config.Resource) { + r.References["virtual_machine_id"] = config.Reference{ + TerraformName: "azurerm_linux_virtual_machine", + Extractor: rconfig.ExtractResourceIDFuncPath, + } + }) p.AddResourceConfigurator("azurerm_virtual_machine_data_disk_attachment", func(r *config.Resource) { r.References["virtual_machine_id"] = config.Reference{ TerraformName: "azurerm_linux_virtual_machine", diff --git a/config/externalname.go b/config/externalname.go index 3b871cf8a..68d9c6b3c 100644 --- a/config/externalname.go +++ b/config/externalname.go @@ -230,6 +230,8 @@ var TerraformPluginSDKExternalNameConfigs = map[string]config.ExternalName{ "azurerm_managed_disk_sas_token": config.IdentifierFromProvider, "azurerm_virtual_machine_extension": config.TemplatedStringAsIdentifier("name", "{{ .parameters.virtual_machine_id }}/extensions/{{ .external_name }}"), // /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1/dataDisks/disk1 + "azurerm_virtual_machine_run_command": config.TemplatedStringAsIdentifier("name", "{{ .parameters.virtual_machine_id }}/runCommands/{{ .external_name }}"), + // /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/vm1/runCommands/rc1 "azurerm_virtual_machine_data_disk_attachment": config.IdentifierFromProvider, // cdn From 661cd85f86f96dfce3340c048f6671fd45b27cbd Mon Sep 17 00:00:00 2001 From: Nico Andres Date: Tue, 30 Apr 2024 09:39:59 +0200 Subject: [PATCH 2/6] run make reviewable Signed-off-by: Nico Andres --- .../v1beta1/zz_generated.conversion_hubs.go | 3 + apis/compute/v1beta1/zz_generated.deepcopy.go | 973 +++++++++++++++++- apis/compute/v1beta1/zz_generated.managed.go | 60 ++ .../v1beta1/zz_generated.managedlist.go | 9 + .../compute/v1beta1/zz_generated.resolvers.go | 150 +++ .../v1beta1/zz_datasetsnowflake_types.go | 6 +- apis/web/v1beta1/zz_functionapp_types.go | 6 +- apis/web/v1beta1/zz_linuxfunctionapp_types.go | 6 +- config/generated.lst | 2 +- internal/controller/zz_compute_setup.go | 2 + internal/controller/zz_monolith_setup.go | 2 + ...ry.azure.upbound.io_datasetsnowflakes.yaml | 6 +- .../web.azure.upbound.io_functionapps.yaml | 6 +- ...eb.azure.upbound.io_linuxfunctionapps.yaml | 6 +- 14 files changed, 1189 insertions(+), 48 deletions(-) diff --git a/apis/compute/v1beta1/zz_generated.conversion_hubs.go b/apis/compute/v1beta1/zz_generated.conversion_hubs.go index 8d53bcc1d..2f8284631 100755 --- a/apis/compute/v1beta1/zz_generated.conversion_hubs.go +++ b/apis/compute/v1beta1/zz_generated.conversion_hubs.go @@ -69,6 +69,9 @@ func (tr *VirtualMachineDataDiskAttachment) Hub() {} // Hub marks this type as a conversion hub. func (tr *VirtualMachineExtension) Hub() {} +// Hub marks this type as a conversion hub. +func (tr *VirtualMachineRunCommand) Hub() {} + // Hub marks this type as a conversion hub. func (tr *WindowsVirtualMachine) Hub() {} diff --git a/apis/compute/v1beta1/zz_generated.deepcopy.go b/apis/compute/v1beta1/zz_generated.deepcopy.go index 771d2180b..96cd9aa7b 100644 --- a/apis/compute/v1beta1/zz_generated.deepcopy.go +++ b/apis/compute/v1beta1/zz_generated.deepcopy.go @@ -2743,6 +2743,61 @@ func (in *EncryptionSettingsParameters) DeepCopy() *EncryptionSettingsParameters return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ErrorBlobManagedIdentityInitParameters) DeepCopyInto(out *ErrorBlobManagedIdentityInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorBlobManagedIdentityInitParameters. +func (in *ErrorBlobManagedIdentityInitParameters) DeepCopy() *ErrorBlobManagedIdentityInitParameters { + if in == nil { + return nil + } + out := new(ErrorBlobManagedIdentityInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ErrorBlobManagedIdentityObservation) DeepCopyInto(out *ErrorBlobManagedIdentityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorBlobManagedIdentityObservation. +func (in *ErrorBlobManagedIdentityObservation) DeepCopy() *ErrorBlobManagedIdentityObservation { + if in == nil { + return nil + } + out := new(ErrorBlobManagedIdentityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ErrorBlobManagedIdentityParameters) DeepCopyInto(out *ErrorBlobManagedIdentityParameters) { + *out = *in + if in.ClientIDSecretRef != nil { + in, out := &in.ClientIDSecretRef, &out.ClientIDSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.ObjectIDSecretRef != nil { + in, out := &in.ObjectIDSecretRef, &out.ObjectIDSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorBlobManagedIdentityParameters. +func (in *ErrorBlobManagedIdentityParameters) DeepCopy() *ErrorBlobManagedIdentityParameters { + if in == nil { + return nil + } + out := new(ErrorBlobManagedIdentityParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ExtensionInitParameters) DeepCopyInto(out *ExtensionInitParameters) { *out = *in @@ -4950,6 +5005,86 @@ func (in *ImageStatus) DeepCopy() *ImageStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceViewInitParameters) DeepCopyInto(out *InstanceViewInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceViewInitParameters. +func (in *InstanceViewInitParameters) DeepCopy() *InstanceViewInitParameters { + if in == nil { + return nil + } + out := new(InstanceViewInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceViewObservation) DeepCopyInto(out *InstanceViewObservation) { + *out = *in + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = new(string) + **out = **in + } + if in.ErrorMessage != nil { + in, out := &in.ErrorMessage, &out.ErrorMessage + *out = new(string) + **out = **in + } + if in.ExecutionMessage != nil { + in, out := &in.ExecutionMessage, &out.ExecutionMessage + *out = new(string) + **out = **in + } + if in.ExecutionState != nil { + in, out := &in.ExecutionState, &out.ExecutionState + *out = new(string) + **out = **in + } + if in.ExitCode != nil { + in, out := &in.ExitCode, &out.ExitCode + *out = new(float64) + **out = **in + } + if in.Output != nil { + in, out := &in.Output, &out.Output + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceViewObservation. +func (in *InstanceViewObservation) DeepCopy() *InstanceViewObservation { + if in == nil { + return nil + } + out := new(InstanceViewObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceViewParameters) DeepCopyInto(out *InstanceViewParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceViewParameters. +func (in *InstanceViewParameters) DeepCopy() *InstanceViewParameters { + if in == nil { + return nil + } + out := new(InstanceViewParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *KeyEncryptionKeyInitParameters) DeepCopyInto(out *KeyEncryptionKeyInitParameters) { *out = *in @@ -13173,6 +13308,136 @@ func (in *OsProfileParameters) DeepCopy() *OsProfileParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutputBlobManagedIdentityInitParameters) DeepCopyInto(out *OutputBlobManagedIdentityInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputBlobManagedIdentityInitParameters. +func (in *OutputBlobManagedIdentityInitParameters) DeepCopy() *OutputBlobManagedIdentityInitParameters { + if in == nil { + return nil + } + out := new(OutputBlobManagedIdentityInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutputBlobManagedIdentityObservation) DeepCopyInto(out *OutputBlobManagedIdentityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputBlobManagedIdentityObservation. +func (in *OutputBlobManagedIdentityObservation) DeepCopy() *OutputBlobManagedIdentityObservation { + if in == nil { + return nil + } + out := new(OutputBlobManagedIdentityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutputBlobManagedIdentityParameters) DeepCopyInto(out *OutputBlobManagedIdentityParameters) { + *out = *in + if in.ClientIDSecretRef != nil { + in, out := &in.ClientIDSecretRef, &out.ClientIDSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.ObjectIDSecretRef != nil { + in, out := &in.ObjectIDSecretRef, &out.ObjectIDSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputBlobManagedIdentityParameters. +func (in *OutputBlobManagedIdentityParameters) DeepCopy() *OutputBlobManagedIdentityParameters { + if in == nil { + return nil + } + out := new(OutputBlobManagedIdentityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParameterInitParameters) DeepCopyInto(out *ParameterInitParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterInitParameters. +func (in *ParameterInitParameters) DeepCopy() *ParameterInitParameters { + if in == nil { + return nil + } + out := new(ParameterInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParameterObservation) DeepCopyInto(out *ParameterObservation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterObservation. +func (in *ParameterObservation) DeepCopy() *ParameterObservation { + if in == nil { + return nil + } + out := new(ParameterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParameterParameters) DeepCopyInto(out *ParameterParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterParameters. +func (in *ParameterParameters) DeepCopy() *ParameterParameters { + if in == nil { + return nil + } + out := new(ParameterParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PlanInitParameters) DeepCopyInto(out *PlanInitParameters) { *out = *in @@ -13338,6 +13603,53 @@ func (in *PriorityMixParameters) DeepCopy() *PriorityMixParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProtectedParameterInitParameters) DeepCopyInto(out *ProtectedParameterInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedParameterInitParameters. +func (in *ProtectedParameterInitParameters) DeepCopy() *ProtectedParameterInitParameters { + if in == nil { + return nil + } + out := new(ProtectedParameterInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProtectedParameterObservation) DeepCopyInto(out *ProtectedParameterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedParameterObservation. +func (in *ProtectedParameterObservation) DeepCopy() *ProtectedParameterObservation { + if in == nil { + return nil + } + out := new(ProtectedParameterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProtectedParameterParameters) DeepCopyInto(out *ProtectedParameterParameters) { + *out = *in + out.NameSecretRef = in.NameSecretRef + out.ValueSecretRef = in.ValueSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedParameterParameters. +func (in *ProtectedParameterParameters) DeepCopy() *ProtectedParameterParameters { + if in == nil { + return nil + } + out := new(ProtectedParameterParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProtectedSettingsFromKeyVaultInitParameters) DeepCopyInto(out *ProtectedSettingsFromKeyVaultInitParameters) { *out = *in @@ -14447,71 +14759,126 @@ func (in *ScaleInParameters) DeepCopy() *ScaleInParameters { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecretCertificateInitParameters) DeepCopyInto(out *SecretCertificateInitParameters) { +func (in *ScriptURIManagedIdentityInitParameters) DeepCopyInto(out *ScriptURIManagedIdentityInitParameters) { *out = *in - if in.URL != nil { - in, out := &in.URL, &out.URL - *out = new(string) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateInitParameters. -func (in *SecretCertificateInitParameters) DeepCopy() *SecretCertificateInitParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptURIManagedIdentityInitParameters. +func (in *ScriptURIManagedIdentityInitParameters) DeepCopy() *ScriptURIManagedIdentityInitParameters { if in == nil { return nil } - out := new(SecretCertificateInitParameters) + out := new(ScriptURIManagedIdentityInitParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecretCertificateObservation) DeepCopyInto(out *SecretCertificateObservation) { +func (in *ScriptURIManagedIdentityObservation) DeepCopyInto(out *ScriptURIManagedIdentityObservation) { *out = *in - if in.URL != nil { - in, out := &in.URL, &out.URL - *out = new(string) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateObservation. -func (in *SecretCertificateObservation) DeepCopy() *SecretCertificateObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptURIManagedIdentityObservation. +func (in *ScriptURIManagedIdentityObservation) DeepCopy() *ScriptURIManagedIdentityObservation { if in == nil { return nil } - out := new(SecretCertificateObservation) + out := new(ScriptURIManagedIdentityObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecretCertificateParameters) DeepCopyInto(out *SecretCertificateParameters) { +func (in *ScriptURIManagedIdentityParameters) DeepCopyInto(out *ScriptURIManagedIdentityParameters) { *out = *in - if in.URL != nil { - in, out := &in.URL, &out.URL - *out = new(string) + if in.ClientIDSecretRef != nil { + in, out := &in.ClientIDSecretRef, &out.ClientIDSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.ObjectIDSecretRef != nil { + in, out := &in.ObjectIDSecretRef, &out.ObjectIDSecretRef + *out = new(v1.SecretKeySelector) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateParameters. -func (in *SecretCertificateParameters) DeepCopy() *SecretCertificateParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptURIManagedIdentityParameters. +func (in *ScriptURIManagedIdentityParameters) DeepCopy() *ScriptURIManagedIdentityParameters { if in == nil { return nil } - out := new(SecretCertificateParameters) + out := new(ScriptURIManagedIdentityParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecretInitParameters) DeepCopyInto(out *SecretInitParameters) { +func (in *SecretCertificateInitParameters) DeepCopyInto(out *SecretCertificateInitParameters) { *out = *in - if in.Certificate != nil { - in, out := &in.Certificate, &out.Certificate - *out = make([]CertificateInitParameters, len(*in)) + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateInitParameters. +func (in *SecretCertificateInitParameters) DeepCopy() *SecretCertificateInitParameters { + if in == nil { + return nil + } + out := new(SecretCertificateInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretCertificateObservation) DeepCopyInto(out *SecretCertificateObservation) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateObservation. +func (in *SecretCertificateObservation) DeepCopy() *SecretCertificateObservation { + if in == nil { + return nil + } + out := new(SecretCertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretCertificateParameters) DeepCopyInto(out *SecretCertificateParameters) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCertificateParameters. +func (in *SecretCertificateParameters) DeepCopy() *SecretCertificateParameters { + if in == nil { + return nil + } + out := new(SecretCertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretInitParameters) DeepCopyInto(out *SecretInitParameters) { + *out = *in + if in.Certificate != nil { + in, out := &in.Certificate, &out.Certificate + *out = make([]CertificateInitParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -17343,6 +17710,554 @@ func (in *VirtualMachineExtensionStatus) DeepCopy() *VirtualMachineExtensionStat return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommand) DeepCopyInto(out *VirtualMachineRunCommand) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommand. +func (in *VirtualMachineRunCommand) DeepCopy() *VirtualMachineRunCommand { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommand) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualMachineRunCommand) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandInitParameters) DeepCopyInto(out *VirtualMachineRunCommandInitParameters) { + *out = *in + if in.ErrorBlobManagedIdentity != nil { + in, out := &in.ErrorBlobManagedIdentity, &out.ErrorBlobManagedIdentity + *out = make([]ErrorBlobManagedIdentityInitParameters, len(*in)) + copy(*out, *in) + } + if in.ErrorBlobURI != nil { + in, out := &in.ErrorBlobURI, &out.ErrorBlobURI + *out = new(string) + **out = **in + } + if in.ErrorBlobURIRef != nil { + in, out := &in.ErrorBlobURIRef, &out.ErrorBlobURIRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ErrorBlobURISelector != nil { + in, out := &in.ErrorBlobURISelector, &out.ErrorBlobURISelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OutputBlobManagedIdentity != nil { + in, out := &in.OutputBlobManagedIdentity, &out.OutputBlobManagedIdentity + *out = make([]OutputBlobManagedIdentityInitParameters, len(*in)) + copy(*out, *in) + } + if in.OutputBlobURI != nil { + in, out := &in.OutputBlobURI, &out.OutputBlobURI + *out = new(string) + **out = **in + } + if in.OutputBlobURIRef != nil { + in, out := &in.OutputBlobURIRef, &out.OutputBlobURIRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.OutputBlobURISelector != nil { + in, out := &in.OutputBlobURISelector, &out.OutputBlobURISelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Parameter != nil { + in, out := &in.Parameter, &out.Parameter + *out = make([]ParameterInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ProtectedParameter != nil { + in, out := &in.ProtectedParameter, &out.ProtectedParameter + *out = make([]ProtectedParameterInitParameters, len(*in)) + copy(*out, *in) + } + if in.RunAsUser != nil { + in, out := &in.RunAsUser, &out.RunAsUser + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = make([]VirtualMachineRunCommandSourceInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandInitParameters. +func (in *VirtualMachineRunCommandInitParameters) DeepCopy() *VirtualMachineRunCommandInitParameters { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandList) DeepCopyInto(out *VirtualMachineRunCommandList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VirtualMachineRunCommand, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandList. +func (in *VirtualMachineRunCommandList) DeepCopy() *VirtualMachineRunCommandList { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VirtualMachineRunCommandList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandObservation) DeepCopyInto(out *VirtualMachineRunCommandObservation) { + *out = *in + if in.ErrorBlobManagedIdentity != nil { + in, out := &in.ErrorBlobManagedIdentity, &out.ErrorBlobManagedIdentity + *out = make([]ErrorBlobManagedIdentityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ErrorBlobURI != nil { + in, out := &in.ErrorBlobURI, &out.ErrorBlobURI + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceView != nil { + in, out := &in.InstanceView, &out.InstanceView + *out = make([]InstanceViewObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OutputBlobManagedIdentity != nil { + in, out := &in.OutputBlobManagedIdentity, &out.OutputBlobManagedIdentity + *out = make([]OutputBlobManagedIdentityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputBlobURI != nil { + in, out := &in.OutputBlobURI, &out.OutputBlobURI + *out = new(string) + **out = **in + } + if in.Parameter != nil { + in, out := &in.Parameter, &out.Parameter + *out = make([]ParameterObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ProtectedParameter != nil { + in, out := &in.ProtectedParameter, &out.ProtectedParameter + *out = make([]ProtectedParameterParameters, len(*in)) + copy(*out, *in) + } + if in.RunAsUser != nil { + in, out := &in.RunAsUser, &out.RunAsUser + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = make([]VirtualMachineRunCommandSourceObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.VirtualMachineID != nil { + in, out := &in.VirtualMachineID, &out.VirtualMachineID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandObservation. +func (in *VirtualMachineRunCommandObservation) DeepCopy() *VirtualMachineRunCommandObservation { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandParameters) DeepCopyInto(out *VirtualMachineRunCommandParameters) { + *out = *in + if in.ErrorBlobManagedIdentity != nil { + in, out := &in.ErrorBlobManagedIdentity, &out.ErrorBlobManagedIdentity + *out = make([]ErrorBlobManagedIdentityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ErrorBlobURI != nil { + in, out := &in.ErrorBlobURI, &out.ErrorBlobURI + *out = new(string) + **out = **in + } + if in.ErrorBlobURIRef != nil { + in, out := &in.ErrorBlobURIRef, &out.ErrorBlobURIRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ErrorBlobURISelector != nil { + in, out := &in.ErrorBlobURISelector, &out.ErrorBlobURISelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OutputBlobManagedIdentity != nil { + in, out := &in.OutputBlobManagedIdentity, &out.OutputBlobManagedIdentity + *out = make([]OutputBlobManagedIdentityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputBlobURI != nil { + in, out := &in.OutputBlobURI, &out.OutputBlobURI + *out = new(string) + **out = **in + } + if in.OutputBlobURIRef != nil { + in, out := &in.OutputBlobURIRef, &out.OutputBlobURIRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.OutputBlobURISelector != nil { + in, out := &in.OutputBlobURISelector, &out.OutputBlobURISelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Parameter != nil { + in, out := &in.Parameter, &out.Parameter + *out = make([]ParameterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ProtectedParameter != nil { + in, out := &in.ProtectedParameter, &out.ProtectedParameter + *out = make([]ProtectedParameterParameters, len(*in)) + copy(*out, *in) + } + if in.RunAsPasswordSecretRef != nil { + in, out := &in.RunAsPasswordSecretRef, &out.RunAsPasswordSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.RunAsUser != nil { + in, out := &in.RunAsUser, &out.RunAsUser + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = make([]VirtualMachineRunCommandSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.VirtualMachineID != nil { + in, out := &in.VirtualMachineID, &out.VirtualMachineID + *out = new(string) + **out = **in + } + if in.VirtualMachineIDRef != nil { + in, out := &in.VirtualMachineIDRef, &out.VirtualMachineIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VirtualMachineIDSelector != nil { + in, out := &in.VirtualMachineIDSelector, &out.VirtualMachineIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandParameters. +func (in *VirtualMachineRunCommandParameters) DeepCopy() *VirtualMachineRunCommandParameters { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandSourceInitParameters) DeepCopyInto(out *VirtualMachineRunCommandSourceInitParameters) { + *out = *in + if in.CommandID != nil { + in, out := &in.CommandID, &out.CommandID + *out = new(string) + **out = **in + } + if in.Script != nil { + in, out := &in.Script, &out.Script + *out = new(string) + **out = **in + } + if in.ScriptURI != nil { + in, out := &in.ScriptURI, &out.ScriptURI + *out = new(string) + **out = **in + } + if in.ScriptURIManagedIdentity != nil { + in, out := &in.ScriptURIManagedIdentity, &out.ScriptURIManagedIdentity + *out = make([]ScriptURIManagedIdentityInitParameters, len(*in)) + copy(*out, *in) + } + if in.ScriptURIRef != nil { + in, out := &in.ScriptURIRef, &out.ScriptURIRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ScriptURISelector != nil { + in, out := &in.ScriptURISelector, &out.ScriptURISelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSourceInitParameters. +func (in *VirtualMachineRunCommandSourceInitParameters) DeepCopy() *VirtualMachineRunCommandSourceInitParameters { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandSourceInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandSourceObservation) DeepCopyInto(out *VirtualMachineRunCommandSourceObservation) { + *out = *in + if in.CommandID != nil { + in, out := &in.CommandID, &out.CommandID + *out = new(string) + **out = **in + } + if in.Script != nil { + in, out := &in.Script, &out.Script + *out = new(string) + **out = **in + } + if in.ScriptURI != nil { + in, out := &in.ScriptURI, &out.ScriptURI + *out = new(string) + **out = **in + } + if in.ScriptURIManagedIdentity != nil { + in, out := &in.ScriptURIManagedIdentity, &out.ScriptURIManagedIdentity + *out = make([]ScriptURIManagedIdentityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSourceObservation. +func (in *VirtualMachineRunCommandSourceObservation) DeepCopy() *VirtualMachineRunCommandSourceObservation { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandSourceParameters) DeepCopyInto(out *VirtualMachineRunCommandSourceParameters) { + *out = *in + if in.CommandID != nil { + in, out := &in.CommandID, &out.CommandID + *out = new(string) + **out = **in + } + if in.Script != nil { + in, out := &in.Script, &out.Script + *out = new(string) + **out = **in + } + if in.ScriptURI != nil { + in, out := &in.ScriptURI, &out.ScriptURI + *out = new(string) + **out = **in + } + if in.ScriptURIManagedIdentity != nil { + in, out := &in.ScriptURIManagedIdentity, &out.ScriptURIManagedIdentity + *out = make([]ScriptURIManagedIdentityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScriptURIRef != nil { + in, out := &in.ScriptURIRef, &out.ScriptURIRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ScriptURISelector != nil { + in, out := &in.ScriptURISelector, &out.ScriptURISelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSourceParameters. +func (in *VirtualMachineRunCommandSourceParameters) DeepCopy() *VirtualMachineRunCommandSourceParameters { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandSpec) DeepCopyInto(out *VirtualMachineRunCommandSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandSpec. +func (in *VirtualMachineRunCommandSpec) DeepCopy() *VirtualMachineRunCommandSpec { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VirtualMachineRunCommandStatus) DeepCopyInto(out *VirtualMachineRunCommandStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineRunCommandStatus. +func (in *VirtualMachineRunCommandStatus) DeepCopy() *VirtualMachineRunCommandStatus { + if in == nil { + return nil + } + out := new(VirtualMachineRunCommandStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *WindowsConfigurationInitParameters) DeepCopyInto(out *WindowsConfigurationInitParameters) { *out = *in diff --git a/apis/compute/v1beta1/zz_generated.managed.go b/apis/compute/v1beta1/zz_generated.managed.go index aad90b2e7..77b532573 100644 --- a/apis/compute/v1beta1/zz_generated.managed.go +++ b/apis/compute/v1beta1/zz_generated.managed.go @@ -1267,6 +1267,66 @@ func (mg *VirtualMachineExtension) SetWriteConnectionSecretToReference(r *xpv1.S mg.Spec.WriteConnectionSecretToReference = r } +// GetCondition of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + // GetCondition of this WindowsVirtualMachine. func (mg *WindowsVirtualMachine) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/compute/v1beta1/zz_generated.managedlist.go b/apis/compute/v1beta1/zz_generated.managedlist.go index b574f8004..769ca1fa6 100644 --- a/apis/compute/v1beta1/zz_generated.managedlist.go +++ b/apis/compute/v1beta1/zz_generated.managedlist.go @@ -196,6 +196,15 @@ func (l *VirtualMachineExtensionList) GetItems() []resource.Managed { return items } +// GetItems of this VirtualMachineRunCommandList. +func (l *VirtualMachineRunCommandList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + // GetItems of this WindowsVirtualMachineList. func (l *WindowsVirtualMachineList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/compute/v1beta1/zz_generated.resolvers.go b/apis/compute/v1beta1/zz_generated.resolvers.go index 4fea3cd07..cc644f04a 100644 --- a/apis/compute/v1beta1/zz_generated.resolvers.go +++ b/apis/compute/v1beta1/zz_generated.resolvers.go @@ -1085,6 +1085,156 @@ func (mg *VirtualMachineExtension) ResolveReferences(ctx context.Context, c clie return nil } +// ResolveReferences of this VirtualMachineRunCommand. +func (mg *VirtualMachineRunCommand) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta1", "Blob", "BlobList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ErrorBlobURI), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.ErrorBlobURIRef, + Selector: mg.Spec.ForProvider.ErrorBlobURISelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ErrorBlobURI") + } + mg.Spec.ForProvider.ErrorBlobURI = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ErrorBlobURIRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta1", "Blob", "BlobList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.OutputBlobURI), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.OutputBlobURIRef, + Selector: mg.Spec.ForProvider.OutputBlobURISelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.OutputBlobURI") + } + mg.Spec.ForProvider.OutputBlobURI = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.OutputBlobURIRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.ForProvider.Source); i3++ { + { + m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta1", "Blob", "BlobList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.Source[i3].ScriptURI), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.Source[i3].ScriptURIRef, + Selector: mg.Spec.ForProvider.Source[i3].ScriptURISelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.Source[i3].ScriptURI") + } + mg.Spec.ForProvider.Source[i3].ScriptURI = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.Source[i3].ScriptURIRef = rsp.ResolvedReference + + } + { + m, l, err = apisresolver.GetManagedResource("compute.azure.upbound.io", "v1beta1", "LinuxVirtualMachine", "LinuxVirtualMachineList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.VirtualMachineID), + Extract: rconfig.ExtractResourceID(), + Reference: mg.Spec.ForProvider.VirtualMachineIDRef, + Selector: mg.Spec.ForProvider.VirtualMachineIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VirtualMachineID") + } + mg.Spec.ForProvider.VirtualMachineID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.VirtualMachineIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta1", "Blob", "BlobList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ErrorBlobURI), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ErrorBlobURIRef, + Selector: mg.Spec.InitProvider.ErrorBlobURISelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ErrorBlobURI") + } + mg.Spec.InitProvider.ErrorBlobURI = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ErrorBlobURIRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta1", "Blob", "BlobList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.OutputBlobURI), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.OutputBlobURIRef, + Selector: mg.Spec.InitProvider.OutputBlobURISelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.OutputBlobURI") + } + mg.Spec.InitProvider.OutputBlobURI = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.OutputBlobURIRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.Source); i3++ { + { + m, l, err = apisresolver.GetManagedResource("storage.azure.upbound.io", "v1beta1", "Blob", "BlobList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.Source[i3].ScriptURI), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.Source[i3].ScriptURIRef, + Selector: mg.Spec.InitProvider.Source[i3].ScriptURISelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.Source[i3].ScriptURI") + } + mg.Spec.InitProvider.Source[i3].ScriptURI = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.Source[i3].ScriptURIRef = rsp.ResolvedReference + + } + + return nil +} + // ResolveReferences of this WindowsVirtualMachine. func (mg *WindowsVirtualMachine) ResolveReferences(ctx context.Context, c client.Reader) error { var m xpresource.Managed diff --git a/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go b/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go index 50f16ca96..ccd77760d 100755 --- a/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go +++ b/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go @@ -167,7 +167,7 @@ type DataSetSnowflakeSchemaColumnInitParameters struct { // The number of digits allowed to the right of the decimal point. Scale *float64 `json:"scale,omitempty" tf:"scale,omitempty"` - // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. + // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -182,7 +182,7 @@ type DataSetSnowflakeSchemaColumnObservation struct { // The number of digits allowed to the right of the decimal point. Scale *float64 `json:"scale,omitempty" tf:"scale,omitempty"` - // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. + // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -200,7 +200,7 @@ type DataSetSnowflakeSchemaColumnParameters struct { // +kubebuilder:validation:Optional Scale *float64 `json:"scale,omitempty" tf:"scale,omitempty"` - // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. + // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` } diff --git a/apis/web/v1beta1/zz_functionapp_types.go b/apis/web/v1beta1/zz_functionapp_types.go index 71036fabf..4e6890bcd 100755 --- a/apis/web/v1beta1/zz_functionapp_types.go +++ b/apis/web/v1beta1/zz_functionapp_types.go @@ -348,7 +348,7 @@ type FunctionAppInitParameters struct { // Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule. Name *string `json:"name,omitempty" tf:"name,omitempty"` - // A string indicating the Operating System type for this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". + // A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` // The name of the resource group in which to create the Function App. Changing this forces a new resource to be created. @@ -443,7 +443,7 @@ type FunctionAppObservation struct { // Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule. Name *string `json:"name,omitempty" tf:"name,omitempty"` - // A string indicating the Operating System type for this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". + // A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` // A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12 @@ -540,7 +540,7 @@ type FunctionAppParameters struct { // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` - // A string indicating the Operating System type for this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". + // A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". // +kubebuilder:validation:Optional OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` diff --git a/apis/web/v1beta1/zz_linuxfunctionapp_types.go b/apis/web/v1beta1/zz_linuxfunctionapp_types.go index 93dd502f8..8a6ef6d49 100755 --- a/apis/web/v1beta1/zz_linuxfunctionapp_types.go +++ b/apis/web/v1beta1/zz_linuxfunctionapp_types.go @@ -2348,7 +2348,7 @@ type LinuxFunctionAppSiteConfigInitParameters struct { RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty" tf:"remote_debugging_enabled,omitempty"` // The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ + // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty" tf:"remote_debugging_version,omitempty"` // Should Scale Monitoring of the Functions Runtime be enabled? @@ -2483,7 +2483,7 @@ type LinuxFunctionAppSiteConfigObservation struct { RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty" tf:"remote_debugging_enabled,omitempty"` // The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ + // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty" tf:"remote_debugging_version,omitempty"` // Should Scale Monitoring of the Functions Runtime be enabled? @@ -2647,7 +2647,7 @@ type LinuxFunctionAppSiteConfigParameters struct { RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty" tf:"remote_debugging_enabled,omitempty"` // The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ + // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` // +kubebuilder:validation:Optional RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty" tf:"remote_debugging_version,omitempty"` diff --git a/config/generated.lst b/config/generated.lst index 7f1c405c7..07b8b82d5 100644 --- a/config/generated.lst +++ b/config/generated.lst @@ -1 +1 @@ -["azurerm_advanced_threat_protection","azurerm_analysis_services_server","azurerm_api_management","azurerm_api_management_api","azurerm_api_management_api_diagnostic","azurerm_api_management_api_operation","azurerm_api_management_api_operation_policy","azurerm_api_management_api_operation_tag","azurerm_api_management_api_policy","azurerm_api_management_api_release","azurerm_api_management_api_schema","azurerm_api_management_api_tag","azurerm_api_management_api_version_set","azurerm_api_management_authorization_server","azurerm_api_management_backend","azurerm_api_management_certificate","azurerm_api_management_custom_domain","azurerm_api_management_diagnostic","azurerm_api_management_email_template","azurerm_api_management_gateway","azurerm_api_management_gateway_api","azurerm_api_management_global_schema","azurerm_api_management_identity_provider_aad","azurerm_api_management_identity_provider_facebook","azurerm_api_management_identity_provider_google","azurerm_api_management_identity_provider_microsoft","azurerm_api_management_identity_provider_twitter","azurerm_api_management_logger","azurerm_api_management_named_value","azurerm_api_management_notification_recipient_email","azurerm_api_management_notification_recipient_user","azurerm_api_management_openid_connect_provider","azurerm_api_management_policy","azurerm_api_management_product","azurerm_api_management_product_api","azurerm_api_management_product_policy","azurerm_api_management_product_tag","azurerm_api_management_redis_cache","azurerm_api_management_subscription","azurerm_api_management_tag","azurerm_api_management_user","azurerm_app_configuration","azurerm_app_service_certificate_order","azurerm_app_service_plan","azurerm_application_gateway","azurerm_application_insights","azurerm_application_insights_analytics_item","azurerm_application_insights_api_key","azurerm_application_insights_smart_detection_rule","azurerm_application_insights_standard_web_test","azurerm_application_insights_web_test","azurerm_application_insights_workbook","azurerm_application_insights_workbook_template","azurerm_application_security_group","azurerm_attestation_provider","azurerm_automation_account","azurerm_automation_connection","azurerm_automation_connection_classic_certificate","azurerm_automation_connection_type","azurerm_automation_credential","azurerm_automation_hybrid_runbook_worker_group","azurerm_automation_module","azurerm_automation_runbook","azurerm_automation_schedule","azurerm_automation_variable_bool","azurerm_automation_variable_datetime","azurerm_automation_variable_int","azurerm_automation_variable_string","azurerm_automation_webhook","azurerm_availability_set","azurerm_backup_container_storage_account","azurerm_backup_policy_file_share","azurerm_backup_policy_vm","azurerm_backup_policy_vm_workload","azurerm_backup_protected_file_share","azurerm_backup_protected_vm","azurerm_bot_channel_alexa","azurerm_bot_channel_directline","azurerm_bot_channel_line","azurerm_bot_channel_ms_teams","azurerm_bot_channel_slack","azurerm_bot_channel_sms","azurerm_bot_channel_web_chat","azurerm_bot_channels_registration","azurerm_bot_connection","azurerm_bot_web_app","azurerm_capacity_reservation","azurerm_capacity_reservation_group","azurerm_cdn_endpoint","azurerm_cdn_frontdoor_custom_domain","azurerm_cdn_frontdoor_custom_domain_association","azurerm_cdn_frontdoor_endpoint","azurerm_cdn_frontdoor_firewall_policy","azurerm_cdn_frontdoor_origin","azurerm_cdn_frontdoor_origin_group","azurerm_cdn_frontdoor_profile","azurerm_cdn_frontdoor_route","azurerm_cdn_frontdoor_rule","azurerm_cdn_frontdoor_rule_set","azurerm_cdn_frontdoor_security_policy","azurerm_cdn_profile","azurerm_cognitive_account","azurerm_cognitive_deployment","azurerm_communication_service","azurerm_confidential_ledger","azurerm_consumption_budget_management_group","azurerm_consumption_budget_resource_group","azurerm_consumption_budget_subscription","azurerm_container_app","azurerm_container_app_environment","azurerm_container_connected_registry","azurerm_container_registry","azurerm_container_registry_agent_pool","azurerm_container_registry_scope_map","azurerm_container_registry_token","azurerm_container_registry_token_password","azurerm_container_registry_webhook","azurerm_cosmosdb_account","azurerm_cosmosdb_cassandra_cluster","azurerm_cosmosdb_cassandra_datacenter","azurerm_cosmosdb_cassandra_keyspace","azurerm_cosmosdb_cassandra_table","azurerm_cosmosdb_gremlin_database","azurerm_cosmosdb_gremlin_graph","azurerm_cosmosdb_mongo_collection","azurerm_cosmosdb_mongo_database","azurerm_cosmosdb_sql_container","azurerm_cosmosdb_sql_database","azurerm_cosmosdb_sql_dedicated_gateway","azurerm_cosmosdb_sql_function","azurerm_cosmosdb_sql_role_assignment","azurerm_cosmosdb_sql_role_definition","azurerm_cosmosdb_sql_stored_procedure","azurerm_cosmosdb_sql_trigger","azurerm_cosmosdb_table","azurerm_cost_anomaly_alert","azurerm_custom_provider","azurerm_data_factory","azurerm_data_factory_custom_dataset","azurerm_data_factory_data_flow","azurerm_data_factory_dataset_azure_blob","azurerm_data_factory_dataset_binary","azurerm_data_factory_dataset_cosmosdb_sqlapi","azurerm_data_factory_dataset_delimited_text","azurerm_data_factory_dataset_http","azurerm_data_factory_dataset_json","azurerm_data_factory_dataset_mysql","azurerm_data_factory_dataset_parquet","azurerm_data_factory_dataset_postgresql","azurerm_data_factory_dataset_snowflake","azurerm_data_factory_dataset_sql_server_table","azurerm_data_factory_integration_runtime_azure","azurerm_data_factory_integration_runtime_azure_ssis","azurerm_data_factory_integration_runtime_managed","azurerm_data_factory_integration_runtime_self_hosted","azurerm_data_factory_linked_custom_service","azurerm_data_factory_linked_service_azure_blob_storage","azurerm_data_factory_linked_service_azure_databricks","azurerm_data_factory_linked_service_azure_file_storage","azurerm_data_factory_linked_service_azure_function","azurerm_data_factory_linked_service_azure_search","azurerm_data_factory_linked_service_azure_sql_database","azurerm_data_factory_linked_service_azure_table_storage","azurerm_data_factory_linked_service_cosmosdb","azurerm_data_factory_linked_service_cosmosdb_mongoapi","azurerm_data_factory_linked_service_data_lake_storage_gen2","azurerm_data_factory_linked_service_key_vault","azurerm_data_factory_linked_service_kusto","azurerm_data_factory_linked_service_mysql","azurerm_data_factory_linked_service_odata","azurerm_data_factory_linked_service_odbc","azurerm_data_factory_linked_service_postgresql","azurerm_data_factory_linked_service_sftp","azurerm_data_factory_linked_service_snowflake","azurerm_data_factory_linked_service_sql_server","azurerm_data_factory_linked_service_synapse","azurerm_data_factory_linked_service_web","azurerm_data_factory_managed_private_endpoint","azurerm_data_factory_pipeline","azurerm_data_factory_trigger_blob_event","azurerm_data_factory_trigger_custom_event","azurerm_data_factory_trigger_schedule","azurerm_data_protection_backup_instance_blob_storage","azurerm_data_protection_backup_instance_disk","azurerm_data_protection_backup_instance_postgresql","azurerm_data_protection_backup_policy_blob_storage","azurerm_data_protection_backup_policy_disk","azurerm_data_protection_backup_policy_postgresql","azurerm_data_protection_backup_vault","azurerm_data_protection_resource_guard","azurerm_data_share","azurerm_data_share_account","azurerm_data_share_dataset_blob_storage","azurerm_data_share_dataset_data_lake_gen2","azurerm_data_share_dataset_kusto_cluster","azurerm_data_share_dataset_kusto_database","azurerm_database_migration_project","azurerm_database_migration_service","azurerm_databox_edge_device","azurerm_databricks_access_connector","azurerm_databricks_workspace","azurerm_databricks_workspace_customer_managed_key","azurerm_databricks_workspace_root_dbfs_customer_managed_key","azurerm_dedicated_host","azurerm_dev_test_global_vm_shutdown_schedule","azurerm_dev_test_lab","azurerm_dev_test_linux_virtual_machine","azurerm_dev_test_policy","azurerm_dev_test_schedule","azurerm_dev_test_virtual_network","azurerm_dev_test_windows_virtual_machine","azurerm_digital_twins_instance","azurerm_disk_access","azurerm_disk_encryption_set","azurerm_disk_pool","azurerm_dns_a_record","azurerm_dns_aaaa_record","azurerm_dns_caa_record","azurerm_dns_cname_record","azurerm_dns_mx_record","azurerm_dns_ns_record","azurerm_dns_ptr_record","azurerm_dns_srv_record","azurerm_dns_txt_record","azurerm_dns_zone","azurerm_elastic_cloud_elasticsearch","azurerm_eventgrid_domain","azurerm_eventgrid_domain_topic","azurerm_eventgrid_event_subscription","azurerm_eventgrid_system_topic","azurerm_eventgrid_topic","azurerm_eventhub","azurerm_eventhub_authorization_rule","azurerm_eventhub_consumer_group","azurerm_eventhub_namespace","azurerm_eventhub_namespace_authorization_rule","azurerm_eventhub_namespace_disaster_recovery_config","azurerm_eventhub_namespace_schema_group","azurerm_express_route_circuit","azurerm_express_route_circuit_authorization","azurerm_express_route_circuit_connection","azurerm_express_route_circuit_peering","azurerm_express_route_connection","azurerm_express_route_gateway","azurerm_express_route_port","azurerm_federated_identity_credential","azurerm_firewall","azurerm_firewall_application_rule_collection","azurerm_firewall_nat_rule_collection","azurerm_firewall_network_rule_collection","azurerm_firewall_policy","azurerm_firewall_policy_rule_collection_group","azurerm_fluid_relay_server","azurerm_frontdoor","azurerm_frontdoor_custom_https_configuration","azurerm_frontdoor_firewall_policy","azurerm_frontdoor_rules_engine","azurerm_function_app","azurerm_function_app_active_slot","azurerm_function_app_function","azurerm_function_app_hybrid_connection","azurerm_function_app_slot","azurerm_gallery_application","azurerm_gallery_application_version","azurerm_hdinsight_hadoop_cluster","azurerm_hdinsight_hbase_cluster","azurerm_hdinsight_interactive_query_cluster","azurerm_hdinsight_kafka_cluster","azurerm_hdinsight_spark_cluster","azurerm_healthbot","azurerm_healthcare_dicom_service","azurerm_healthcare_fhir_service","azurerm_healthcare_medtech_service","azurerm_healthcare_medtech_service_fhir_destination","azurerm_healthcare_service","azurerm_healthcare_workspace","azurerm_hpc_cache","azurerm_hpc_cache_access_policy","azurerm_hpc_cache_blob_nfs_target","azurerm_hpc_cache_blob_target","azurerm_hpc_cache_nfs_target","azurerm_image","azurerm_integration_service_environment","azurerm_iot_security_device_group","azurerm_iot_security_solution","azurerm_iot_time_series_insights_event_source_eventhub","azurerm_iot_time_series_insights_event_source_iothub","azurerm_iot_time_series_insights_gen2_environment","azurerm_iot_time_series_insights_reference_data_set","azurerm_iot_time_series_insights_standard_environment","azurerm_iotcentral_application","azurerm_iotcentral_application_network_rule_set","azurerm_iothub","azurerm_iothub_certificate","azurerm_iothub_consumer_group","azurerm_iothub_device_update_account","azurerm_iothub_device_update_instance","azurerm_iothub_dps","azurerm_iothub_dps_certificate","azurerm_iothub_dps_shared_access_policy","azurerm_iothub_endpoint_eventhub","azurerm_iothub_endpoint_servicebus_queue","azurerm_iothub_endpoint_servicebus_topic","azurerm_iothub_endpoint_storage_container","azurerm_iothub_enrichment","azurerm_iothub_fallback_route","azurerm_iothub_route","azurerm_iothub_shared_access_policy","azurerm_ip_group","azurerm_key_vault","azurerm_key_vault_access_policy","azurerm_key_vault_certificate","azurerm_key_vault_certificate_contacts","azurerm_key_vault_certificate_issuer","azurerm_key_vault_key","azurerm_key_vault_managed_hardware_security_module","azurerm_key_vault_managed_storage_account","azurerm_key_vault_managed_storage_account_sas_token_definition","azurerm_key_vault_secret","azurerm_kubernetes_cluster","azurerm_kubernetes_cluster_node_pool","azurerm_kubernetes_fleet_manager","azurerm_kusto_attached_database_configuration","azurerm_kusto_cluster","azurerm_kusto_cluster_managed_private_endpoint","azurerm_kusto_cluster_principal_assignment","azurerm_kusto_database","azurerm_kusto_database_principal_assignment","azurerm_kusto_eventgrid_data_connection","azurerm_kusto_eventhub_data_connection","azurerm_kusto_iothub_data_connection","azurerm_lab_service_lab","azurerm_lab_service_plan","azurerm_lb","azurerm_lb_backend_address_pool","azurerm_lb_backend_address_pool_address","azurerm_lb_nat_pool","azurerm_lb_nat_rule","azurerm_lb_outbound_rule","azurerm_lb_probe","azurerm_lb_rule","azurerm_linux_function_app","azurerm_linux_function_app_slot","azurerm_linux_virtual_machine","azurerm_linux_virtual_machine_scale_set","azurerm_linux_web_app","azurerm_linux_web_app_slot","azurerm_load_test","azurerm_local_network_gateway","azurerm_log_analytics_data_export_rule","azurerm_log_analytics_datasource_windows_event","azurerm_log_analytics_datasource_windows_performance_counter","azurerm_log_analytics_linked_service","azurerm_log_analytics_linked_storage_account","azurerm_log_analytics_query_pack","azurerm_log_analytics_query_pack_query","azurerm_log_analytics_saved_search","azurerm_log_analytics_solution","azurerm_log_analytics_workspace","azurerm_logic_app_action_custom","azurerm_logic_app_action_http","azurerm_logic_app_integration_account","azurerm_logic_app_integration_account_batch_configuration","azurerm_logic_app_integration_account_partner","azurerm_logic_app_integration_account_schema","azurerm_logic_app_integration_account_session","azurerm_logic_app_trigger_custom","azurerm_logic_app_trigger_http_request","azurerm_logic_app_trigger_recurrence","azurerm_logic_app_workflow","azurerm_logz_monitor","azurerm_logz_sub_account","azurerm_logz_sub_account_tag_rule","azurerm_logz_tag_rule","azurerm_machine_learning_compute_cluster","azurerm_machine_learning_compute_instance","azurerm_machine_learning_synapse_spark","azurerm_machine_learning_workspace","azurerm_maintenance_assignment_dedicated_host","azurerm_maintenance_assignment_virtual_machine","azurerm_maintenance_configuration","azurerm_managed_application_definition","azurerm_managed_disk","azurerm_managed_disk_sas_token","azurerm_management_group","azurerm_management_group_subscription_association","azurerm_management_lock","azurerm_maps_account","azurerm_maps_creator","azurerm_mariadb_configuration","azurerm_mariadb_database","azurerm_mariadb_firewall_rule","azurerm_mariadb_server","azurerm_mariadb_virtual_network_rule","azurerm_marketplace_agreement","azurerm_media_asset","azurerm_media_asset_filter","azurerm_media_content_key_policy","azurerm_media_job","azurerm_media_live_event","azurerm_media_live_event_output","azurerm_media_services_account","azurerm_media_services_account_filter","azurerm_media_streaming_endpoint","azurerm_media_streaming_locator","azurerm_media_streaming_policy","azurerm_media_transform","azurerm_monitor_action_group","azurerm_monitor_action_rule_action_group","azurerm_monitor_action_rule_suppression","azurerm_monitor_activity_log_alert","azurerm_monitor_alert_processing_rule_action_group","azurerm_monitor_alert_processing_rule_suppression","azurerm_monitor_autoscale_setting","azurerm_monitor_data_collection_endpoint","azurerm_monitor_data_collection_rule","azurerm_monitor_data_collection_rule_association","azurerm_monitor_diagnostic_setting","azurerm_monitor_metric_alert","azurerm_monitor_private_link_scope","azurerm_monitor_private_link_scoped_service","azurerm_monitor_scheduled_query_rules_alert","azurerm_monitor_scheduled_query_rules_alert_v2","azurerm_monitor_scheduled_query_rules_log","azurerm_monitor_smart_detector_alert_rule","azurerm_mssql_database","azurerm_mssql_database_extended_auditing_policy","azurerm_mssql_database_vulnerability_assessment_rule_baseline","azurerm_mssql_elasticpool","azurerm_mssql_failover_group","azurerm_mssql_firewall_rule","azurerm_mssql_job_agent","azurerm_mssql_job_credential","azurerm_mssql_managed_database","azurerm_mssql_managed_instance","azurerm_mssql_managed_instance_active_directory_administrator","azurerm_mssql_managed_instance_failover_group","azurerm_mssql_managed_instance_vulnerability_assessment","azurerm_mssql_outbound_firewall_rule","azurerm_mssql_server","azurerm_mssql_server_dns_alias","azurerm_mssql_server_microsoft_support_auditing_policy","azurerm_mssql_server_security_alert_policy","azurerm_mssql_server_transparent_data_encryption","azurerm_mssql_server_vulnerability_assessment","azurerm_mssql_virtual_network_rule","azurerm_mysql_active_directory_administrator","azurerm_mysql_configuration","azurerm_mysql_database","azurerm_mysql_firewall_rule","azurerm_mysql_flexible_database","azurerm_mysql_flexible_server","azurerm_mysql_flexible_server_configuration","azurerm_mysql_flexible_server_firewall_rule","azurerm_mysql_server","azurerm_mysql_virtual_network_rule","azurerm_nat_gateway","azurerm_nat_gateway_public_ip_association","azurerm_nat_gateway_public_ip_prefix_association","azurerm_netapp_account","azurerm_netapp_pool","azurerm_netapp_snapshot","azurerm_netapp_snapshot_policy","azurerm_netapp_volume","azurerm_network_connection_monitor","azurerm_network_ddos_protection_plan","azurerm_network_interface","azurerm_network_interface_application_security_group_association","azurerm_network_interface_backend_address_pool_association","azurerm_network_interface_nat_rule_association","azurerm_network_interface_security_group_association","azurerm_network_manager","azurerm_network_manager_management_group_connection","azurerm_network_manager_network_group","azurerm_network_manager_static_member","azurerm_network_manager_subscription_connection","azurerm_network_packet_capture","azurerm_network_profile","azurerm_network_security_group","azurerm_network_security_rule","azurerm_network_watcher","azurerm_network_watcher_flow_log","azurerm_notification_hub","azurerm_notification_hub_authorization_rule","azurerm_notification_hub_namespace","azurerm_orbital_contact_profile","azurerm_orbital_spacecraft","azurerm_orchestrated_virtual_machine_scale_set","azurerm_point_to_site_vpn_gateway","azurerm_policy_definition","azurerm_policy_virtual_machine_configuration_assignment","azurerm_portal_dashboard","azurerm_postgresql_active_directory_administrator","azurerm_postgresql_configuration","azurerm_postgresql_database","azurerm_postgresql_firewall_rule","azurerm_postgresql_flexible_server","azurerm_postgresql_flexible_server_active_directory_administrator","azurerm_postgresql_flexible_server_configuration","azurerm_postgresql_flexible_server_database","azurerm_postgresql_flexible_server_firewall_rule","azurerm_postgresql_server","azurerm_postgresql_server_key","azurerm_postgresql_virtual_network_rule","azurerm_powerbi_embedded","azurerm_private_dns_a_record","azurerm_private_dns_aaaa_record","azurerm_private_dns_cname_record","azurerm_private_dns_mx_record","azurerm_private_dns_ptr_record","azurerm_private_dns_resolver","azurerm_private_dns_srv_record","azurerm_private_dns_txt_record","azurerm_private_dns_zone","azurerm_private_dns_zone_virtual_network_link","azurerm_private_endpoint","azurerm_private_endpoint_application_security_group_association","azurerm_private_link_service","azurerm_proximity_placement_group","azurerm_public_ip","azurerm_public_ip_prefix","azurerm_purview_account","azurerm_recovery_services_vault","azurerm_redis_cache","azurerm_redis_enterprise_cluster","azurerm_redis_enterprise_database","azurerm_redis_firewall_rule","azurerm_redis_linked_server","azurerm_relay_hybrid_connection","azurerm_relay_hybrid_connection_authorization_rule","azurerm_relay_namespace","azurerm_relay_namespace_authorization_rule","azurerm_resource_deployment_script_azure_cli","azurerm_resource_deployment_script_azure_power_shell","azurerm_resource_group","azurerm_resource_group_cost_management_export","azurerm_resource_group_policy_assignment","azurerm_resource_group_template_deployment","azurerm_resource_policy_assignment","azurerm_resource_policy_exemption","azurerm_resource_policy_remediation","azurerm_resource_provider_registration","azurerm_role_assignment","azurerm_role_definition","azurerm_route","azurerm_route_filter","azurerm_route_map","azurerm_route_server","azurerm_route_server_bgp_connection","azurerm_route_table","azurerm_search_service","azurerm_search_shared_private_link_service","azurerm_security_center_assessment","azurerm_security_center_assessment_policy","azurerm_security_center_auto_provisioning","azurerm_security_center_contact","azurerm_security_center_server_vulnerability_assessment","azurerm_security_center_server_vulnerability_assessment_virtual_machine","azurerm_security_center_setting","azurerm_security_center_subscription_pricing","azurerm_security_center_workspace","azurerm_sentinel_alert_rule_fusion","azurerm_sentinel_alert_rule_machine_learning_behavior_analytics","azurerm_sentinel_alert_rule_ms_security_incident","azurerm_sentinel_automation_rule","azurerm_sentinel_data_connector_iot","azurerm_sentinel_log_analytics_workspace_onboarding","azurerm_sentinel_watchlist","azurerm_service_fabric_cluster","azurerm_service_fabric_managed_cluster","azurerm_service_plan","azurerm_servicebus_namespace","azurerm_servicebus_namespace_authorization_rule","azurerm_servicebus_namespace_disaster_recovery_config","azurerm_servicebus_namespace_network_rule_set","azurerm_servicebus_queue","azurerm_servicebus_queue_authorization_rule","azurerm_servicebus_subscription","azurerm_servicebus_subscription_rule","azurerm_servicebus_topic","azurerm_servicebus_topic_authorization_rule","azurerm_shared_image","azurerm_shared_image_gallery","azurerm_signalr_service","azurerm_signalr_service_network_acl","azurerm_signalr_shared_private_link_resource","azurerm_site_recovery_fabric","azurerm_site_recovery_network_mapping","azurerm_site_recovery_protection_container","azurerm_site_recovery_protection_container_mapping","azurerm_site_recovery_replication_policy","azurerm_snapshot","azurerm_source_control_token","azurerm_spatial_anchors_account","azurerm_spring_cloud_accelerator","azurerm_spring_cloud_active_deployment","azurerm_spring_cloud_api_portal","azurerm_spring_cloud_api_portal_custom_domain","azurerm_spring_cloud_app","azurerm_spring_cloud_app_cosmosdb_association","azurerm_spring_cloud_app_mysql_association","azurerm_spring_cloud_app_redis_association","azurerm_spring_cloud_application_live_view","azurerm_spring_cloud_build_deployment","azurerm_spring_cloud_build_pack_binding","azurerm_spring_cloud_builder","azurerm_spring_cloud_certificate","azurerm_spring_cloud_configuration_service","azurerm_spring_cloud_connection","azurerm_spring_cloud_container_deployment","azurerm_spring_cloud_custom_domain","azurerm_spring_cloud_customized_accelerator","azurerm_spring_cloud_dev_tool_portal","azurerm_spring_cloud_gateway","azurerm_spring_cloud_gateway_custom_domain","azurerm_spring_cloud_java_deployment","azurerm_spring_cloud_service","azurerm_spring_cloud_storage","azurerm_ssh_public_key","azurerm_stack_hci_cluster","azurerm_static_site","azurerm_storage_account","azurerm_storage_account_local_user","azurerm_storage_account_network_rules","azurerm_storage_blob","azurerm_storage_blob_inventory_policy","azurerm_storage_container","azurerm_storage_data_lake_gen2_filesystem","azurerm_storage_data_lake_gen2_path","azurerm_storage_encryption_scope","azurerm_storage_management_policy","azurerm_storage_object_replication","azurerm_storage_queue","azurerm_storage_share","azurerm_storage_share_directory","azurerm_storage_sync","azurerm_storage_table","azurerm_storage_table_entity","azurerm_stream_analytics_cluster","azurerm_stream_analytics_function_javascript_uda","azurerm_stream_analytics_job","azurerm_stream_analytics_managed_private_endpoint","azurerm_stream_analytics_output_blob","azurerm_stream_analytics_output_eventhub","azurerm_stream_analytics_output_function","azurerm_stream_analytics_output_mssql","azurerm_stream_analytics_output_powerbi","azurerm_stream_analytics_output_servicebus_queue","azurerm_stream_analytics_output_servicebus_topic","azurerm_stream_analytics_output_synapse","azurerm_stream_analytics_output_table","azurerm_stream_analytics_reference_input_blob","azurerm_stream_analytics_reference_input_mssql","azurerm_stream_analytics_stream_input_blob","azurerm_stream_analytics_stream_input_eventhub","azurerm_stream_analytics_stream_input_iothub","azurerm_subnet","azurerm_subnet_nat_gateway_association","azurerm_subnet_network_security_group_association","azurerm_subnet_route_table_association","azurerm_subnet_service_endpoint_storage_policy","azurerm_subscription","azurerm_subscription_cost_management_export","azurerm_subscription_policy_assignment","azurerm_subscription_policy_exemption","azurerm_subscription_policy_remediation","azurerm_subscription_template_deployment","azurerm_synapse_firewall_rule","azurerm_synapse_integration_runtime_azure","azurerm_synapse_integration_runtime_self_hosted","azurerm_synapse_linked_service","azurerm_synapse_managed_private_endpoint","azurerm_synapse_private_link_hub","azurerm_synapse_role_assignment","azurerm_synapse_spark_pool","azurerm_synapse_sql_pool","azurerm_synapse_sql_pool_extended_auditing_policy","azurerm_synapse_sql_pool_security_alert_policy","azurerm_synapse_sql_pool_workload_classifier","azurerm_synapse_sql_pool_workload_group","azurerm_synapse_workspace","azurerm_synapse_workspace_aad_admin","azurerm_synapse_workspace_extended_auditing_policy","azurerm_synapse_workspace_security_alert_policy","azurerm_synapse_workspace_sql_aad_admin","azurerm_synapse_workspace_vulnerability_assessment","azurerm_traffic_manager_azure_endpoint","azurerm_traffic_manager_external_endpoint","azurerm_traffic_manager_nested_endpoint","azurerm_traffic_manager_profile","azurerm_user_assigned_identity","azurerm_virtual_hub","azurerm_virtual_hub_connection","azurerm_virtual_hub_ip","azurerm_virtual_hub_route_table","azurerm_virtual_hub_route_table_route","azurerm_virtual_hub_security_partner_provider","azurerm_virtual_machine_data_disk_attachment","azurerm_virtual_machine_extension","azurerm_virtual_network","azurerm_virtual_network_gateway","azurerm_virtual_network_gateway_connection","azurerm_virtual_network_peering","azurerm_virtual_wan","azurerm_vpn_gateway","azurerm_vpn_gateway_connection","azurerm_vpn_server_configuration","azurerm_vpn_server_configuration_policy_group","azurerm_vpn_site","azurerm_web_app_active_slot","azurerm_web_app_hybrid_connection","azurerm_web_application_firewall_policy","azurerm_web_pubsub","azurerm_web_pubsub_hub","azurerm_web_pubsub_network_acl","azurerm_windows_function_app","azurerm_windows_function_app_slot","azurerm_windows_virtual_machine","azurerm_windows_virtual_machine_scale_set","azurerm_windows_web_app","azurerm_windows_web_app_slot"] \ No newline at end of file +["azurerm_advanced_threat_protection","azurerm_analysis_services_server","azurerm_api_management","azurerm_api_management_api","azurerm_api_management_api_diagnostic","azurerm_api_management_api_operation","azurerm_api_management_api_operation_policy","azurerm_api_management_api_operation_tag","azurerm_api_management_api_policy","azurerm_api_management_api_release","azurerm_api_management_api_schema","azurerm_api_management_api_tag","azurerm_api_management_api_version_set","azurerm_api_management_authorization_server","azurerm_api_management_backend","azurerm_api_management_certificate","azurerm_api_management_custom_domain","azurerm_api_management_diagnostic","azurerm_api_management_email_template","azurerm_api_management_gateway","azurerm_api_management_gateway_api","azurerm_api_management_global_schema","azurerm_api_management_identity_provider_aad","azurerm_api_management_identity_provider_facebook","azurerm_api_management_identity_provider_google","azurerm_api_management_identity_provider_microsoft","azurerm_api_management_identity_provider_twitter","azurerm_api_management_logger","azurerm_api_management_named_value","azurerm_api_management_notification_recipient_email","azurerm_api_management_notification_recipient_user","azurerm_api_management_openid_connect_provider","azurerm_api_management_policy","azurerm_api_management_product","azurerm_api_management_product_api","azurerm_api_management_product_policy","azurerm_api_management_product_tag","azurerm_api_management_redis_cache","azurerm_api_management_subscription","azurerm_api_management_tag","azurerm_api_management_user","azurerm_app_configuration","azurerm_app_service_certificate_order","azurerm_app_service_plan","azurerm_application_gateway","azurerm_application_insights","azurerm_application_insights_analytics_item","azurerm_application_insights_api_key","azurerm_application_insights_smart_detection_rule","azurerm_application_insights_standard_web_test","azurerm_application_insights_web_test","azurerm_application_insights_workbook","azurerm_application_insights_workbook_template","azurerm_application_security_group","azurerm_attestation_provider","azurerm_automation_account","azurerm_automation_connection","azurerm_automation_connection_classic_certificate","azurerm_automation_connection_type","azurerm_automation_credential","azurerm_automation_hybrid_runbook_worker_group","azurerm_automation_module","azurerm_automation_runbook","azurerm_automation_schedule","azurerm_automation_variable_bool","azurerm_automation_variable_datetime","azurerm_automation_variable_int","azurerm_automation_variable_string","azurerm_automation_webhook","azurerm_availability_set","azurerm_backup_container_storage_account","azurerm_backup_policy_file_share","azurerm_backup_policy_vm","azurerm_backup_policy_vm_workload","azurerm_backup_protected_file_share","azurerm_backup_protected_vm","azurerm_bot_channel_alexa","azurerm_bot_channel_directline","azurerm_bot_channel_line","azurerm_bot_channel_ms_teams","azurerm_bot_channel_slack","azurerm_bot_channel_sms","azurerm_bot_channel_web_chat","azurerm_bot_channels_registration","azurerm_bot_connection","azurerm_bot_web_app","azurerm_capacity_reservation","azurerm_capacity_reservation_group","azurerm_cdn_endpoint","azurerm_cdn_frontdoor_custom_domain","azurerm_cdn_frontdoor_custom_domain_association","azurerm_cdn_frontdoor_endpoint","azurerm_cdn_frontdoor_firewall_policy","azurerm_cdn_frontdoor_origin","azurerm_cdn_frontdoor_origin_group","azurerm_cdn_frontdoor_profile","azurerm_cdn_frontdoor_route","azurerm_cdn_frontdoor_rule","azurerm_cdn_frontdoor_rule_set","azurerm_cdn_frontdoor_security_policy","azurerm_cdn_profile","azurerm_cognitive_account","azurerm_cognitive_deployment","azurerm_communication_service","azurerm_confidential_ledger","azurerm_consumption_budget_management_group","azurerm_consumption_budget_resource_group","azurerm_consumption_budget_subscription","azurerm_container_app","azurerm_container_app_environment","azurerm_container_connected_registry","azurerm_container_registry","azurerm_container_registry_agent_pool","azurerm_container_registry_scope_map","azurerm_container_registry_token","azurerm_container_registry_token_password","azurerm_container_registry_webhook","azurerm_cosmosdb_account","azurerm_cosmosdb_cassandra_cluster","azurerm_cosmosdb_cassandra_datacenter","azurerm_cosmosdb_cassandra_keyspace","azurerm_cosmosdb_cassandra_table","azurerm_cosmosdb_gremlin_database","azurerm_cosmosdb_gremlin_graph","azurerm_cosmosdb_mongo_collection","azurerm_cosmosdb_mongo_database","azurerm_cosmosdb_sql_container","azurerm_cosmosdb_sql_database","azurerm_cosmosdb_sql_dedicated_gateway","azurerm_cosmosdb_sql_function","azurerm_cosmosdb_sql_role_assignment","azurerm_cosmosdb_sql_role_definition","azurerm_cosmosdb_sql_stored_procedure","azurerm_cosmosdb_sql_trigger","azurerm_cosmosdb_table","azurerm_cost_anomaly_alert","azurerm_custom_provider","azurerm_data_factory","azurerm_data_factory_custom_dataset","azurerm_data_factory_data_flow","azurerm_data_factory_dataset_azure_blob","azurerm_data_factory_dataset_binary","azurerm_data_factory_dataset_cosmosdb_sqlapi","azurerm_data_factory_dataset_delimited_text","azurerm_data_factory_dataset_http","azurerm_data_factory_dataset_json","azurerm_data_factory_dataset_mysql","azurerm_data_factory_dataset_parquet","azurerm_data_factory_dataset_postgresql","azurerm_data_factory_dataset_snowflake","azurerm_data_factory_dataset_sql_server_table","azurerm_data_factory_integration_runtime_azure","azurerm_data_factory_integration_runtime_azure_ssis","azurerm_data_factory_integration_runtime_managed","azurerm_data_factory_integration_runtime_self_hosted","azurerm_data_factory_linked_custom_service","azurerm_data_factory_linked_service_azure_blob_storage","azurerm_data_factory_linked_service_azure_databricks","azurerm_data_factory_linked_service_azure_file_storage","azurerm_data_factory_linked_service_azure_function","azurerm_data_factory_linked_service_azure_search","azurerm_data_factory_linked_service_azure_sql_database","azurerm_data_factory_linked_service_azure_table_storage","azurerm_data_factory_linked_service_cosmosdb","azurerm_data_factory_linked_service_cosmosdb_mongoapi","azurerm_data_factory_linked_service_data_lake_storage_gen2","azurerm_data_factory_linked_service_key_vault","azurerm_data_factory_linked_service_kusto","azurerm_data_factory_linked_service_mysql","azurerm_data_factory_linked_service_odata","azurerm_data_factory_linked_service_odbc","azurerm_data_factory_linked_service_postgresql","azurerm_data_factory_linked_service_sftp","azurerm_data_factory_linked_service_snowflake","azurerm_data_factory_linked_service_sql_server","azurerm_data_factory_linked_service_synapse","azurerm_data_factory_linked_service_web","azurerm_data_factory_managed_private_endpoint","azurerm_data_factory_pipeline","azurerm_data_factory_trigger_blob_event","azurerm_data_factory_trigger_custom_event","azurerm_data_factory_trigger_schedule","azurerm_data_protection_backup_instance_blob_storage","azurerm_data_protection_backup_instance_disk","azurerm_data_protection_backup_instance_postgresql","azurerm_data_protection_backup_policy_blob_storage","azurerm_data_protection_backup_policy_disk","azurerm_data_protection_backup_policy_postgresql","azurerm_data_protection_backup_vault","azurerm_data_protection_resource_guard","azurerm_data_share","azurerm_data_share_account","azurerm_data_share_dataset_blob_storage","azurerm_data_share_dataset_data_lake_gen2","azurerm_data_share_dataset_kusto_cluster","azurerm_data_share_dataset_kusto_database","azurerm_database_migration_project","azurerm_database_migration_service","azurerm_databox_edge_device","azurerm_databricks_access_connector","azurerm_databricks_workspace","azurerm_databricks_workspace_customer_managed_key","azurerm_databricks_workspace_root_dbfs_customer_managed_key","azurerm_dedicated_host","azurerm_dev_test_global_vm_shutdown_schedule","azurerm_dev_test_lab","azurerm_dev_test_linux_virtual_machine","azurerm_dev_test_policy","azurerm_dev_test_schedule","azurerm_dev_test_virtual_network","azurerm_dev_test_windows_virtual_machine","azurerm_digital_twins_instance","azurerm_disk_access","azurerm_disk_encryption_set","azurerm_disk_pool","azurerm_dns_a_record","azurerm_dns_aaaa_record","azurerm_dns_caa_record","azurerm_dns_cname_record","azurerm_dns_mx_record","azurerm_dns_ns_record","azurerm_dns_ptr_record","azurerm_dns_srv_record","azurerm_dns_txt_record","azurerm_dns_zone","azurerm_elastic_cloud_elasticsearch","azurerm_eventgrid_domain","azurerm_eventgrid_domain_topic","azurerm_eventgrid_event_subscription","azurerm_eventgrid_system_topic","azurerm_eventgrid_topic","azurerm_eventhub","azurerm_eventhub_authorization_rule","azurerm_eventhub_consumer_group","azurerm_eventhub_namespace","azurerm_eventhub_namespace_authorization_rule","azurerm_eventhub_namespace_disaster_recovery_config","azurerm_eventhub_namespace_schema_group","azurerm_express_route_circuit","azurerm_express_route_circuit_authorization","azurerm_express_route_circuit_connection","azurerm_express_route_circuit_peering","azurerm_express_route_connection","azurerm_express_route_gateway","azurerm_express_route_port","azurerm_federated_identity_credential","azurerm_firewall","azurerm_firewall_application_rule_collection","azurerm_firewall_nat_rule_collection","azurerm_firewall_network_rule_collection","azurerm_firewall_policy","azurerm_firewall_policy_rule_collection_group","azurerm_fluid_relay_server","azurerm_frontdoor","azurerm_frontdoor_custom_https_configuration","azurerm_frontdoor_firewall_policy","azurerm_frontdoor_rules_engine","azurerm_function_app","azurerm_function_app_active_slot","azurerm_function_app_function","azurerm_function_app_hybrid_connection","azurerm_function_app_slot","azurerm_gallery_application","azurerm_gallery_application_version","azurerm_hdinsight_hadoop_cluster","azurerm_hdinsight_hbase_cluster","azurerm_hdinsight_interactive_query_cluster","azurerm_hdinsight_kafka_cluster","azurerm_hdinsight_spark_cluster","azurerm_healthbot","azurerm_healthcare_dicom_service","azurerm_healthcare_fhir_service","azurerm_healthcare_medtech_service","azurerm_healthcare_medtech_service_fhir_destination","azurerm_healthcare_service","azurerm_healthcare_workspace","azurerm_hpc_cache","azurerm_hpc_cache_access_policy","azurerm_hpc_cache_blob_nfs_target","azurerm_hpc_cache_blob_target","azurerm_hpc_cache_nfs_target","azurerm_image","azurerm_integration_service_environment","azurerm_iot_security_device_group","azurerm_iot_security_solution","azurerm_iot_time_series_insights_event_source_eventhub","azurerm_iot_time_series_insights_event_source_iothub","azurerm_iot_time_series_insights_gen2_environment","azurerm_iot_time_series_insights_reference_data_set","azurerm_iot_time_series_insights_standard_environment","azurerm_iotcentral_application","azurerm_iotcentral_application_network_rule_set","azurerm_iothub","azurerm_iothub_certificate","azurerm_iothub_consumer_group","azurerm_iothub_device_update_account","azurerm_iothub_device_update_instance","azurerm_iothub_dps","azurerm_iothub_dps_certificate","azurerm_iothub_dps_shared_access_policy","azurerm_iothub_endpoint_eventhub","azurerm_iothub_endpoint_servicebus_queue","azurerm_iothub_endpoint_servicebus_topic","azurerm_iothub_endpoint_storage_container","azurerm_iothub_enrichment","azurerm_iothub_fallback_route","azurerm_iothub_route","azurerm_iothub_shared_access_policy","azurerm_ip_group","azurerm_key_vault","azurerm_key_vault_access_policy","azurerm_key_vault_certificate","azurerm_key_vault_certificate_contacts","azurerm_key_vault_certificate_issuer","azurerm_key_vault_key","azurerm_key_vault_managed_hardware_security_module","azurerm_key_vault_managed_storage_account","azurerm_key_vault_managed_storage_account_sas_token_definition","azurerm_key_vault_secret","azurerm_kubernetes_cluster","azurerm_kubernetes_cluster_node_pool","azurerm_kubernetes_fleet_manager","azurerm_kusto_attached_database_configuration","azurerm_kusto_cluster","azurerm_kusto_cluster_managed_private_endpoint","azurerm_kusto_cluster_principal_assignment","azurerm_kusto_database","azurerm_kusto_database_principal_assignment","azurerm_kusto_eventgrid_data_connection","azurerm_kusto_eventhub_data_connection","azurerm_kusto_iothub_data_connection","azurerm_lab_service_lab","azurerm_lab_service_plan","azurerm_lb","azurerm_lb_backend_address_pool","azurerm_lb_backend_address_pool_address","azurerm_lb_nat_pool","azurerm_lb_nat_rule","azurerm_lb_outbound_rule","azurerm_lb_probe","azurerm_lb_rule","azurerm_linux_function_app","azurerm_linux_function_app_slot","azurerm_linux_virtual_machine","azurerm_linux_virtual_machine_scale_set","azurerm_linux_web_app","azurerm_linux_web_app_slot","azurerm_load_test","azurerm_local_network_gateway","azurerm_log_analytics_data_export_rule","azurerm_log_analytics_datasource_windows_event","azurerm_log_analytics_datasource_windows_performance_counter","azurerm_log_analytics_linked_service","azurerm_log_analytics_linked_storage_account","azurerm_log_analytics_query_pack","azurerm_log_analytics_query_pack_query","azurerm_log_analytics_saved_search","azurerm_log_analytics_solution","azurerm_log_analytics_workspace","azurerm_logic_app_action_custom","azurerm_logic_app_action_http","azurerm_logic_app_integration_account","azurerm_logic_app_integration_account_batch_configuration","azurerm_logic_app_integration_account_partner","azurerm_logic_app_integration_account_schema","azurerm_logic_app_integration_account_session","azurerm_logic_app_trigger_custom","azurerm_logic_app_trigger_http_request","azurerm_logic_app_trigger_recurrence","azurerm_logic_app_workflow","azurerm_logz_monitor","azurerm_logz_sub_account","azurerm_logz_sub_account_tag_rule","azurerm_logz_tag_rule","azurerm_machine_learning_compute_cluster","azurerm_machine_learning_compute_instance","azurerm_machine_learning_synapse_spark","azurerm_machine_learning_workspace","azurerm_maintenance_assignment_dedicated_host","azurerm_maintenance_assignment_virtual_machine","azurerm_maintenance_configuration","azurerm_managed_application_definition","azurerm_managed_disk","azurerm_managed_disk_sas_token","azurerm_management_group","azurerm_management_group_subscription_association","azurerm_management_lock","azurerm_maps_account","azurerm_maps_creator","azurerm_mariadb_configuration","azurerm_mariadb_database","azurerm_mariadb_firewall_rule","azurerm_mariadb_server","azurerm_mariadb_virtual_network_rule","azurerm_marketplace_agreement","azurerm_media_asset","azurerm_media_asset_filter","azurerm_media_content_key_policy","azurerm_media_job","azurerm_media_live_event","azurerm_media_live_event_output","azurerm_media_services_account","azurerm_media_services_account_filter","azurerm_media_streaming_endpoint","azurerm_media_streaming_locator","azurerm_media_streaming_policy","azurerm_media_transform","azurerm_monitor_action_group","azurerm_monitor_action_rule_action_group","azurerm_monitor_action_rule_suppression","azurerm_monitor_activity_log_alert","azurerm_monitor_alert_processing_rule_action_group","azurerm_monitor_alert_processing_rule_suppression","azurerm_monitor_autoscale_setting","azurerm_monitor_data_collection_endpoint","azurerm_monitor_data_collection_rule","azurerm_monitor_data_collection_rule_association","azurerm_monitor_diagnostic_setting","azurerm_monitor_metric_alert","azurerm_monitor_private_link_scope","azurerm_monitor_private_link_scoped_service","azurerm_monitor_scheduled_query_rules_alert","azurerm_monitor_scheduled_query_rules_alert_v2","azurerm_monitor_scheduled_query_rules_log","azurerm_monitor_smart_detector_alert_rule","azurerm_mssql_database","azurerm_mssql_database_extended_auditing_policy","azurerm_mssql_database_vulnerability_assessment_rule_baseline","azurerm_mssql_elasticpool","azurerm_mssql_failover_group","azurerm_mssql_firewall_rule","azurerm_mssql_job_agent","azurerm_mssql_job_credential","azurerm_mssql_managed_database","azurerm_mssql_managed_instance","azurerm_mssql_managed_instance_active_directory_administrator","azurerm_mssql_managed_instance_failover_group","azurerm_mssql_managed_instance_vulnerability_assessment","azurerm_mssql_outbound_firewall_rule","azurerm_mssql_server","azurerm_mssql_server_dns_alias","azurerm_mssql_server_microsoft_support_auditing_policy","azurerm_mssql_server_security_alert_policy","azurerm_mssql_server_transparent_data_encryption","azurerm_mssql_server_vulnerability_assessment","azurerm_mssql_virtual_network_rule","azurerm_mysql_active_directory_administrator","azurerm_mysql_configuration","azurerm_mysql_database","azurerm_mysql_firewall_rule","azurerm_mysql_flexible_database","azurerm_mysql_flexible_server","azurerm_mysql_flexible_server_configuration","azurerm_mysql_flexible_server_firewall_rule","azurerm_mysql_server","azurerm_mysql_virtual_network_rule","azurerm_nat_gateway","azurerm_nat_gateway_public_ip_association","azurerm_nat_gateway_public_ip_prefix_association","azurerm_netapp_account","azurerm_netapp_pool","azurerm_netapp_snapshot","azurerm_netapp_snapshot_policy","azurerm_netapp_volume","azurerm_network_connection_monitor","azurerm_network_ddos_protection_plan","azurerm_network_interface","azurerm_network_interface_application_security_group_association","azurerm_network_interface_backend_address_pool_association","azurerm_network_interface_nat_rule_association","azurerm_network_interface_security_group_association","azurerm_network_manager","azurerm_network_manager_management_group_connection","azurerm_network_manager_network_group","azurerm_network_manager_static_member","azurerm_network_manager_subscription_connection","azurerm_network_packet_capture","azurerm_network_profile","azurerm_network_security_group","azurerm_network_security_rule","azurerm_network_watcher","azurerm_network_watcher_flow_log","azurerm_notification_hub","azurerm_notification_hub_authorization_rule","azurerm_notification_hub_namespace","azurerm_orbital_contact_profile","azurerm_orbital_spacecraft","azurerm_orchestrated_virtual_machine_scale_set","azurerm_point_to_site_vpn_gateway","azurerm_policy_definition","azurerm_policy_virtual_machine_configuration_assignment","azurerm_portal_dashboard","azurerm_postgresql_active_directory_administrator","azurerm_postgresql_configuration","azurerm_postgresql_database","azurerm_postgresql_firewall_rule","azurerm_postgresql_flexible_server","azurerm_postgresql_flexible_server_active_directory_administrator","azurerm_postgresql_flexible_server_configuration","azurerm_postgresql_flexible_server_database","azurerm_postgresql_flexible_server_firewall_rule","azurerm_postgresql_server","azurerm_postgresql_server_key","azurerm_postgresql_virtual_network_rule","azurerm_powerbi_embedded","azurerm_private_dns_a_record","azurerm_private_dns_aaaa_record","azurerm_private_dns_cname_record","azurerm_private_dns_mx_record","azurerm_private_dns_ptr_record","azurerm_private_dns_resolver","azurerm_private_dns_srv_record","azurerm_private_dns_txt_record","azurerm_private_dns_zone","azurerm_private_dns_zone_virtual_network_link","azurerm_private_endpoint","azurerm_private_endpoint_application_security_group_association","azurerm_private_link_service","azurerm_proximity_placement_group","azurerm_public_ip","azurerm_public_ip_prefix","azurerm_purview_account","azurerm_recovery_services_vault","azurerm_redis_cache","azurerm_redis_enterprise_cluster","azurerm_redis_enterprise_database","azurerm_redis_firewall_rule","azurerm_redis_linked_server","azurerm_relay_hybrid_connection","azurerm_relay_hybrid_connection_authorization_rule","azurerm_relay_namespace","azurerm_relay_namespace_authorization_rule","azurerm_resource_deployment_script_azure_cli","azurerm_resource_deployment_script_azure_power_shell","azurerm_resource_group","azurerm_resource_group_cost_management_export","azurerm_resource_group_policy_assignment","azurerm_resource_group_template_deployment","azurerm_resource_policy_assignment","azurerm_resource_policy_exemption","azurerm_resource_policy_remediation","azurerm_resource_provider_registration","azurerm_role_assignment","azurerm_role_definition","azurerm_route","azurerm_route_filter","azurerm_route_map","azurerm_route_server","azurerm_route_server_bgp_connection","azurerm_route_table","azurerm_search_service","azurerm_search_shared_private_link_service","azurerm_security_center_assessment","azurerm_security_center_assessment_policy","azurerm_security_center_auto_provisioning","azurerm_security_center_contact","azurerm_security_center_server_vulnerability_assessment","azurerm_security_center_server_vulnerability_assessment_virtual_machine","azurerm_security_center_setting","azurerm_security_center_subscription_pricing","azurerm_security_center_workspace","azurerm_sentinel_alert_rule_fusion","azurerm_sentinel_alert_rule_machine_learning_behavior_analytics","azurerm_sentinel_alert_rule_ms_security_incident","azurerm_sentinel_automation_rule","azurerm_sentinel_data_connector_iot","azurerm_sentinel_log_analytics_workspace_onboarding","azurerm_sentinel_watchlist","azurerm_service_fabric_cluster","azurerm_service_fabric_managed_cluster","azurerm_service_plan","azurerm_servicebus_namespace","azurerm_servicebus_namespace_authorization_rule","azurerm_servicebus_namespace_disaster_recovery_config","azurerm_servicebus_namespace_network_rule_set","azurerm_servicebus_queue","azurerm_servicebus_queue_authorization_rule","azurerm_servicebus_subscription","azurerm_servicebus_subscription_rule","azurerm_servicebus_topic","azurerm_servicebus_topic_authorization_rule","azurerm_shared_image","azurerm_shared_image_gallery","azurerm_signalr_service","azurerm_signalr_service_network_acl","azurerm_signalr_shared_private_link_resource","azurerm_site_recovery_fabric","azurerm_site_recovery_network_mapping","azurerm_site_recovery_protection_container","azurerm_site_recovery_protection_container_mapping","azurerm_site_recovery_replication_policy","azurerm_snapshot","azurerm_source_control_token","azurerm_spatial_anchors_account","azurerm_spring_cloud_accelerator","azurerm_spring_cloud_active_deployment","azurerm_spring_cloud_api_portal","azurerm_spring_cloud_api_portal_custom_domain","azurerm_spring_cloud_app","azurerm_spring_cloud_app_cosmosdb_association","azurerm_spring_cloud_app_mysql_association","azurerm_spring_cloud_app_redis_association","azurerm_spring_cloud_application_live_view","azurerm_spring_cloud_build_deployment","azurerm_spring_cloud_build_pack_binding","azurerm_spring_cloud_builder","azurerm_spring_cloud_certificate","azurerm_spring_cloud_configuration_service","azurerm_spring_cloud_connection","azurerm_spring_cloud_container_deployment","azurerm_spring_cloud_custom_domain","azurerm_spring_cloud_customized_accelerator","azurerm_spring_cloud_dev_tool_portal","azurerm_spring_cloud_gateway","azurerm_spring_cloud_gateway_custom_domain","azurerm_spring_cloud_java_deployment","azurerm_spring_cloud_service","azurerm_spring_cloud_storage","azurerm_ssh_public_key","azurerm_stack_hci_cluster","azurerm_static_site","azurerm_storage_account","azurerm_storage_account_local_user","azurerm_storage_account_network_rules","azurerm_storage_blob","azurerm_storage_blob_inventory_policy","azurerm_storage_container","azurerm_storage_data_lake_gen2_filesystem","azurerm_storage_data_lake_gen2_path","azurerm_storage_encryption_scope","azurerm_storage_management_policy","azurerm_storage_object_replication","azurerm_storage_queue","azurerm_storage_share","azurerm_storage_share_directory","azurerm_storage_sync","azurerm_storage_table","azurerm_storage_table_entity","azurerm_stream_analytics_cluster","azurerm_stream_analytics_function_javascript_uda","azurerm_stream_analytics_job","azurerm_stream_analytics_managed_private_endpoint","azurerm_stream_analytics_output_blob","azurerm_stream_analytics_output_eventhub","azurerm_stream_analytics_output_function","azurerm_stream_analytics_output_mssql","azurerm_stream_analytics_output_powerbi","azurerm_stream_analytics_output_servicebus_queue","azurerm_stream_analytics_output_servicebus_topic","azurerm_stream_analytics_output_synapse","azurerm_stream_analytics_output_table","azurerm_stream_analytics_reference_input_blob","azurerm_stream_analytics_reference_input_mssql","azurerm_stream_analytics_stream_input_blob","azurerm_stream_analytics_stream_input_eventhub","azurerm_stream_analytics_stream_input_iothub","azurerm_subnet","azurerm_subnet_nat_gateway_association","azurerm_subnet_network_security_group_association","azurerm_subnet_route_table_association","azurerm_subnet_service_endpoint_storage_policy","azurerm_subscription","azurerm_subscription_cost_management_export","azurerm_subscription_policy_assignment","azurerm_subscription_policy_exemption","azurerm_subscription_policy_remediation","azurerm_subscription_template_deployment","azurerm_synapse_firewall_rule","azurerm_synapse_integration_runtime_azure","azurerm_synapse_integration_runtime_self_hosted","azurerm_synapse_linked_service","azurerm_synapse_managed_private_endpoint","azurerm_synapse_private_link_hub","azurerm_synapse_role_assignment","azurerm_synapse_spark_pool","azurerm_synapse_sql_pool","azurerm_synapse_sql_pool_extended_auditing_policy","azurerm_synapse_sql_pool_security_alert_policy","azurerm_synapse_sql_pool_workload_classifier","azurerm_synapse_sql_pool_workload_group","azurerm_synapse_workspace","azurerm_synapse_workspace_aad_admin","azurerm_synapse_workspace_extended_auditing_policy","azurerm_synapse_workspace_security_alert_policy","azurerm_synapse_workspace_sql_aad_admin","azurerm_synapse_workspace_vulnerability_assessment","azurerm_traffic_manager_azure_endpoint","azurerm_traffic_manager_external_endpoint","azurerm_traffic_manager_nested_endpoint","azurerm_traffic_manager_profile","azurerm_user_assigned_identity","azurerm_virtual_hub","azurerm_virtual_hub_connection","azurerm_virtual_hub_ip","azurerm_virtual_hub_route_table","azurerm_virtual_hub_route_table_route","azurerm_virtual_hub_security_partner_provider","azurerm_virtual_machine_data_disk_attachment","azurerm_virtual_machine_extension","azurerm_virtual_machine_run_command","azurerm_virtual_network","azurerm_virtual_network_gateway","azurerm_virtual_network_gateway_connection","azurerm_virtual_network_peering","azurerm_virtual_wan","azurerm_vpn_gateway","azurerm_vpn_gateway_connection","azurerm_vpn_server_configuration","azurerm_vpn_server_configuration_policy_group","azurerm_vpn_site","azurerm_web_app_active_slot","azurerm_web_app_hybrid_connection","azurerm_web_application_firewall_policy","azurerm_web_pubsub","azurerm_web_pubsub_hub","azurerm_web_pubsub_network_acl","azurerm_windows_function_app","azurerm_windows_function_app_slot","azurerm_windows_virtual_machine","azurerm_windows_virtual_machine_scale_set","azurerm_windows_web_app","azurerm_windows_web_app_slot"] \ No newline at end of file diff --git a/internal/controller/zz_compute_setup.go b/internal/controller/zz_compute_setup.go index 84cd3387a..cdf59609e 100755 --- a/internal/controller/zz_compute_setup.go +++ b/internal/controller/zz_compute_setup.go @@ -30,6 +30,7 @@ import ( sshpublickey "github.com/upbound/provider-azure/internal/controller/compute/sshpublickey" virtualmachinedatadiskattachment "github.com/upbound/provider-azure/internal/controller/compute/virtualmachinedatadiskattachment" virtualmachineextension "github.com/upbound/provider-azure/internal/controller/compute/virtualmachineextension" + virtualmachineruncommand "github.com/upbound/provider-azure/internal/controller/compute/virtualmachineruncommand" windowsvirtualmachine "github.com/upbound/provider-azure/internal/controller/compute/windowsvirtualmachine" windowsvirtualmachinescaleset "github.com/upbound/provider-azure/internal/controller/compute/windowsvirtualmachinescaleset" ) @@ -59,6 +60,7 @@ func Setup_compute(mgr ctrl.Manager, o controller.Options) error { sshpublickey.Setup, virtualmachinedatadiskattachment.Setup, virtualmachineextension.Setup, + virtualmachineruncommand.Setup, windowsvirtualmachine.Setup, windowsvirtualmachinescaleset.Setup, } { diff --git a/internal/controller/zz_monolith_setup.go b/internal/controller/zz_monolith_setup.go index b77d4fd88..8010348ea 100755 --- a/internal/controller/zz_monolith_setup.go +++ b/internal/controller/zz_monolith_setup.go @@ -158,6 +158,7 @@ import ( sshpublickey "github.com/upbound/provider-azure/internal/controller/compute/sshpublickey" virtualmachinedatadiskattachment "github.com/upbound/provider-azure/internal/controller/compute/virtualmachinedatadiskattachment" virtualmachineextension "github.com/upbound/provider-azure/internal/controller/compute/virtualmachineextension" + virtualmachineruncommand "github.com/upbound/provider-azure/internal/controller/compute/virtualmachineruncommand" windowsvirtualmachine "github.com/upbound/provider-azure/internal/controller/compute/windowsvirtualmachine" windowsvirtualmachinescaleset "github.com/upbound/provider-azure/internal/controller/compute/windowsvirtualmachinescaleset" ledger "github.com/upbound/provider-azure/internal/controller/confidentialledger/ledger" @@ -889,6 +890,7 @@ func Setup_monolith(mgr ctrl.Manager, o controller.Options) error { sshpublickey.Setup, virtualmachinedatadiskattachment.Setup, virtualmachineextension.Setup, + virtualmachineruncommand.Setup, windowsvirtualmachine.Setup, windowsvirtualmachinescaleset.Setup, ledger.Setup, diff --git a/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml b/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml index a1ec9a559..61679f126 100644 --- a/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml +++ b/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml @@ -276,7 +276,7 @@ spec: type: number type: description: Type of the column. Valid values are NUMBER, - DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, + DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, @@ -428,7 +428,7 @@ spec: type: number type: description: Type of the column. Valid values are NUMBER, - DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, + DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, @@ -670,7 +670,7 @@ spec: type: number type: description: Type of the column. Valid values are NUMBER, - DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, + DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, diff --git a/package/crds/web.azure.upbound.io_functionapps.yaml b/package/crds/web.azure.upbound.io_functionapps.yaml index ea8dbb5ec..715bdeb3e 100644 --- a/package/crds/web.azure.upbound.io_functionapps.yaml +++ b/package/crds/web.azure.upbound.io_functionapps.yaml @@ -476,7 +476,7 @@ spec: type: string osType: description: A string indicating the Operating System type for - this function app. Possible values are linux and “(empty string). + this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". type: string @@ -1382,7 +1382,7 @@ spec: type: string osType: description: A string indicating the Operating System type for - this function app. Possible values are linux and “(empty string). + this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". type: string @@ -2389,7 +2389,7 @@ spec: type: string osType: description: A string indicating the Operating System type for - this function app. Possible values are linux and “(empty string). + this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". type: string diff --git a/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml b/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml index 7eb3dc641..5e9570afe 100644 --- a/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml +++ b/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml @@ -1562,7 +1562,7 @@ spec: remoteDebuggingVersion: description: |- The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ + The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` type: string runtimeScaleMonitoringEnabled: description: |- @@ -3292,7 +3292,7 @@ spec: remoteDebuggingVersion: description: |- The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ + The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` type: string runtimeScaleMonitoringEnabled: description: |- @@ -5020,7 +5020,7 @@ spec: remoteDebuggingVersion: description: |- The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ + The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` type: string runtimeScaleMonitoringEnabled: description: |- From 38be28e0bc2c2317eac77db1d6d896c26facbe9a Mon Sep 17 00:00:00 2001 From: Nico Andres Date: Tue, 30 Apr 2024 09:42:33 +0200 Subject: [PATCH 3/6] add untracked files Signed-off-by: Nico Andres --- ...zz_virtualmachineruncommand_terraformed.go | 129 ++ .../zz_virtualmachineruncommand_types.go | 432 +++++ .../v1beta1/virtualmachineruncommand.yaml | 262 +++ .../virtualmachineruncommand/zz_controller.go | 92 ++ ....upbound.io_virtualmachineruncommands.yaml | 1423 +++++++++++++++++ 5 files changed, 2338 insertions(+) create mode 100755 apis/compute/v1beta1/zz_virtualmachineruncommand_terraformed.go create mode 100755 apis/compute/v1beta1/zz_virtualmachineruncommand_types.go create mode 100644 examples-generated/compute/v1beta1/virtualmachineruncommand.yaml create mode 100755 internal/controller/compute/virtualmachineruncommand/zz_controller.go create mode 100644 package/crds/compute.azure.upbound.io_virtualmachineruncommands.yaml diff --git a/apis/compute/v1beta1/zz_virtualmachineruncommand_terraformed.go b/apis/compute/v1beta1/zz_virtualmachineruncommand_terraformed.go new file mode 100755 index 000000000..7ffb76093 --- /dev/null +++ b/apis/compute/v1beta1/zz_virtualmachineruncommand_terraformed.go @@ -0,0 +1,129 @@ +// SPDX-FileCopyrightText: 2024 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this VirtualMachineRunCommand +func (mg *VirtualMachineRunCommand) GetTerraformResourceType() string { + return "azurerm_virtual_machine_run_command" +} + +// GetConnectionDetailsMapping for this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"error_blob_managed_identity[*].client_id": "spec.forProvider.errorBlobManagedIdentity[*].clientIdSecretRef", "error_blob_managed_identity[*].object_id": "spec.forProvider.errorBlobManagedIdentity[*].objectIdSecretRef", "output_blob_managed_identity[*].client_id": "spec.forProvider.outputBlobManagedIdentity[*].clientIdSecretRef", "output_blob_managed_identity[*].object_id": "spec.forProvider.outputBlobManagedIdentity[*].objectIdSecretRef", "protected_parameter[*].name": "spec.forProvider.protectedParameter[*].nameSecretRef", "protected_parameter[*].value": "spec.forProvider.protectedParameter[*].valueSecretRef", "run_as_password": "spec.forProvider.runAsPasswordSecretRef", "source[*].script_uri_managed_identity[*].client_id": "spec.forProvider.source[*].scriptUriManagedIdentity[*].clientIdSecretRef", "source[*].script_uri_managed_identity[*].object_id": "spec.forProvider.source[*].scriptUriManagedIdentity[*].objectIdSecretRef"} +} + +// GetObservation of this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this VirtualMachineRunCommand +func (tr *VirtualMachineRunCommand) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this VirtualMachineRunCommand using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *VirtualMachineRunCommand) LateInitialize(attrs []byte) (bool, error) { + params := &VirtualMachineRunCommandParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *VirtualMachineRunCommand) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1beta1/zz_virtualmachineruncommand_types.go b/apis/compute/v1beta1/zz_virtualmachineruncommand_types.go new file mode 100755 index 000000000..8ac17d3d9 --- /dev/null +++ b/apis/compute/v1beta1/zz_virtualmachineruncommand_types.go @@ -0,0 +1,432 @@ +// SPDX-FileCopyrightText: 2024 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ErrorBlobManagedIdentityInitParameters struct { +} + +type ErrorBlobManagedIdentityObservation struct { +} + +type ErrorBlobManagedIdentityParameters struct { + + // The client ID of the managed identity. + // +kubebuilder:validation:Optional + ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"` + + // The object ID of the managed identity. + // +kubebuilder:validation:Optional + ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"` +} + +type InstanceViewInitParameters struct { +} + +type InstanceViewObservation struct { + EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` + + ErrorMessage *string `json:"errorMessage,omitempty" tf:"error_message,omitempty"` + + ExecutionMessage *string `json:"executionMessage,omitempty" tf:"execution_message,omitempty"` + + ExecutionState *string `json:"executionState,omitempty" tf:"execution_state,omitempty"` + + ExitCode *float64 `json:"exitCode,omitempty" tf:"exit_code,omitempty"` + + Output *string `json:"output,omitempty" tf:"output,omitempty"` + + StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` +} + +type InstanceViewParameters struct { +} + +type OutputBlobManagedIdentityInitParameters struct { +} + +type OutputBlobManagedIdentityObservation struct { +} + +type OutputBlobManagedIdentityParameters struct { + + // The client ID of the managed identity. + // +kubebuilder:validation:Optional + ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"` + + // The object ID of the managed identity. + // +kubebuilder:validation:Optional + ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"` +} + +type ParameterInitParameters struct { + + // The run parameter name. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The run parameter value. + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type ParameterObservation struct { + + // The run parameter name. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The run parameter value. + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type ParameterParameters struct { + + // The run parameter name. + // +kubebuilder:validation:Optional + Name *string `json:"name" tf:"name,omitempty"` + + // The run parameter value. + // +kubebuilder:validation:Optional + Value *string `json:"value" tf:"value,omitempty"` +} + +type ProtectedParameterInitParameters struct { +} + +type ProtectedParameterObservation struct { +} + +type ProtectedParameterParameters struct { + + // The run parameter name. + // +kubebuilder:validation:Required + NameSecretRef v1.SecretKeySelector `json:"nameSecretRef" tf:"-"` + + // The run parameter value. + // +kubebuilder:validation:Required + ValueSecretRef v1.SecretKeySelector `json:"valueSecretRef" tf:"-"` +} + +type ScriptURIManagedIdentityInitParameters struct { +} + +type ScriptURIManagedIdentityObservation struct { +} + +type ScriptURIManagedIdentityParameters struct { + + // The client ID of the managed identity. + // +kubebuilder:validation:Optional + ClientIDSecretRef *v1.SecretKeySelector `json:"clientIdSecretRef,omitempty" tf:"-"` + + // The object ID of the managed identity. + // +kubebuilder:validation:Optional + ObjectIDSecretRef *v1.SecretKeySelector `json:"objectIdSecretRef,omitempty" tf:"-"` +} + +type VirtualMachineRunCommandInitParameters struct { + + // An error_blob_managed_identity block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob. + ErrorBlobManagedIdentity []ErrorBlobManagedIdentityInitParameters `json:"errorBlobManagedIdentity,omitempty" tf:"error_blob_managed_identity,omitempty"` + + // Specifies the Azure storage blob where script error stream will be uploaded. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ErrorBlobURI *string `json:"errorBlobUri,omitempty" tf:"error_blob_uri,omitempty"` + + // Reference to a Blob in storage to populate errorBlobUri. + // +kubebuilder:validation:Optional + ErrorBlobURIRef *v1.Reference `json:"errorBlobUriRef,omitempty" tf:"-"` + + // Selector for a Blob in storage to populate errorBlobUri. + // +kubebuilder:validation:Optional + ErrorBlobURISelector *v1.Selector `json:"errorBlobUriSelector,omitempty" tf:"-"` + + // The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created. + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // An output_blob_managed_identity block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob. + OutputBlobManagedIdentity []OutputBlobManagedIdentityInitParameters `json:"outputBlobManagedIdentity,omitempty" tf:"output_blob_managed_identity,omitempty"` + + // Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + OutputBlobURI *string `json:"outputBlobUri,omitempty" tf:"output_blob_uri,omitempty"` + + // Reference to a Blob in storage to populate outputBlobUri. + // +kubebuilder:validation:Optional + OutputBlobURIRef *v1.Reference `json:"outputBlobUriRef,omitempty" tf:"-"` + + // Selector for a Blob in storage to populate outputBlobUri. + // +kubebuilder:validation:Optional + OutputBlobURISelector *v1.Selector `json:"outputBlobUriSelector,omitempty" tf:"-"` + + // A list of parameter blocks as defined below. The parameters used by the script. + Parameter []ParameterInitParameters `json:"parameter,omitempty" tf:"parameter,omitempty"` + + // A list of protected_parameter blocks as defined below. The protected parameters used by the script. + ProtectedParameter []ProtectedParameterInitParameters `json:"protectedParameter,omitempty" tf:"protected_parameter,omitempty"` + + // Specifies the user account on the VM when executing the Virtual Machine Run Command. + RunAsUser *string `json:"runAsUser,omitempty" tf:"run_as_user,omitempty"` + + // A source block as defined below. The source of the run command script. + Source []VirtualMachineRunCommandSourceInitParameters `json:"source,omitempty" tf:"source,omitempty"` + + // A mapping of tags which should be assigned to the Virtual Machine Run Command. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type VirtualMachineRunCommandObservation struct { + + // An error_blob_managed_identity block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob. + ErrorBlobManagedIdentity []ErrorBlobManagedIdentityParameters `json:"errorBlobManagedIdentity,omitempty" tf:"error_blob_managed_identity,omitempty"` + + // Specifies the Azure storage blob where script error stream will be uploaded. + ErrorBlobURI *string `json:"errorBlobUri,omitempty" tf:"error_blob_uri,omitempty"` + + // The ID of the Virtual Machine Run Command. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + InstanceView []InstanceViewObservation `json:"instanceView,omitempty" tf:"instance_view,omitempty"` + + // The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created. + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // An output_blob_managed_identity block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob. + OutputBlobManagedIdentity []OutputBlobManagedIdentityParameters `json:"outputBlobManagedIdentity,omitempty" tf:"output_blob_managed_identity,omitempty"` + + // Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token. + OutputBlobURI *string `json:"outputBlobUri,omitempty" tf:"output_blob_uri,omitempty"` + + // A list of parameter blocks as defined below. The parameters used by the script. + Parameter []ParameterObservation `json:"parameter,omitempty" tf:"parameter,omitempty"` + + // A list of protected_parameter blocks as defined below. The protected parameters used by the script. + ProtectedParameter []ProtectedParameterParameters `json:"protectedParameter,omitempty" tf:"protected_parameter,omitempty"` + + // Specifies the user account on the VM when executing the Virtual Machine Run Command. + RunAsUser *string `json:"runAsUser,omitempty" tf:"run_as_user,omitempty"` + + // A source block as defined below. The source of the run command script. + Source []VirtualMachineRunCommandSourceObservation `json:"source,omitempty" tf:"source,omitempty"` + + // A mapping of tags which should be assigned to the Virtual Machine Run Command. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created. + VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"` +} + +type VirtualMachineRunCommandParameters struct { + + // An error_blob_managed_identity block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob. + // +kubebuilder:validation:Optional + ErrorBlobManagedIdentity []ErrorBlobManagedIdentityParameters `json:"errorBlobManagedIdentity,omitempty" tf:"error_blob_managed_identity,omitempty"` + + // Specifies the Azure storage blob where script error stream will be uploaded. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + ErrorBlobURI *string `json:"errorBlobUri,omitempty" tf:"error_blob_uri,omitempty"` + + // Reference to a Blob in storage to populate errorBlobUri. + // +kubebuilder:validation:Optional + ErrorBlobURIRef *v1.Reference `json:"errorBlobUriRef,omitempty" tf:"-"` + + // Selector for a Blob in storage to populate errorBlobUri. + // +kubebuilder:validation:Optional + ErrorBlobURISelector *v1.Selector `json:"errorBlobUriSelector,omitempty" tf:"-"` + + // The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // An output_blob_managed_identity block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob. + // +kubebuilder:validation:Optional + OutputBlobManagedIdentity []OutputBlobManagedIdentityParameters `json:"outputBlobManagedIdentity,omitempty" tf:"output_blob_managed_identity,omitempty"` + + // Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + OutputBlobURI *string `json:"outputBlobUri,omitempty" tf:"output_blob_uri,omitempty"` + + // Reference to a Blob in storage to populate outputBlobUri. + // +kubebuilder:validation:Optional + OutputBlobURIRef *v1.Reference `json:"outputBlobUriRef,omitempty" tf:"-"` + + // Selector for a Blob in storage to populate outputBlobUri. + // +kubebuilder:validation:Optional + OutputBlobURISelector *v1.Selector `json:"outputBlobUriSelector,omitempty" tf:"-"` + + // A list of parameter blocks as defined below. The parameters used by the script. + // +kubebuilder:validation:Optional + Parameter []ParameterParameters `json:"parameter,omitempty" tf:"parameter,omitempty"` + + // A list of protected_parameter blocks as defined below. The protected parameters used by the script. + // +kubebuilder:validation:Optional + ProtectedParameter []ProtectedParameterParameters `json:"protectedParameter,omitempty" tf:"protected_parameter,omitempty"` + + // Specifies the user account password on the VM when executing the Virtual Machine Run Command. + // +kubebuilder:validation:Optional + RunAsPasswordSecretRef *v1.SecretKeySelector `json:"runAsPasswordSecretRef,omitempty" tf:"-"` + + // Specifies the user account on the VM when executing the Virtual Machine Run Command. + // +kubebuilder:validation:Optional + RunAsUser *string `json:"runAsUser,omitempty" tf:"run_as_user,omitempty"` + + // A source block as defined below. The source of the run command script. + // +kubebuilder:validation:Optional + Source []VirtualMachineRunCommandSourceParameters `json:"source,omitempty" tf:"source,omitempty"` + + // A mapping of tags which should be assigned to the Virtual Machine Run Command. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created. + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/compute/v1beta1.LinuxVirtualMachine + // +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID() + // +kubebuilder:validation:Optional + VirtualMachineID *string `json:"virtualMachineId,omitempty" tf:"virtual_machine_id,omitempty"` + + // Reference to a LinuxVirtualMachine in compute to populate virtualMachineId. + // +kubebuilder:validation:Optional + VirtualMachineIDRef *v1.Reference `json:"virtualMachineIdRef,omitempty" tf:"-"` + + // Selector for a LinuxVirtualMachine in compute to populate virtualMachineId. + // +kubebuilder:validation:Optional + VirtualMachineIDSelector *v1.Selector `json:"virtualMachineIdSelector,omitempty" tf:"-"` +} + +type VirtualMachineRunCommandSourceInitParameters struct { + CommandID *string `json:"commandId,omitempty" tf:"command_id,omitempty"` + + Script *string `json:"script,omitempty" tf:"script,omitempty"` + + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ScriptURI *string `json:"scriptUri,omitempty" tf:"script_uri,omitempty"` + + // A script_uri_managed_identity block as defined above. + ScriptURIManagedIdentity []ScriptURIManagedIdentityInitParameters `json:"scriptUriManagedIdentity,omitempty" tf:"script_uri_managed_identity,omitempty"` + + // Reference to a Blob in storage to populate scriptUri. + // +kubebuilder:validation:Optional + ScriptURIRef *v1.Reference `json:"scriptUriRef,omitempty" tf:"-"` + + // Selector for a Blob in storage to populate scriptUri. + // +kubebuilder:validation:Optional + ScriptURISelector *v1.Selector `json:"scriptUriSelector,omitempty" tf:"-"` +} + +type VirtualMachineRunCommandSourceObservation struct { + CommandID *string `json:"commandId,omitempty" tf:"command_id,omitempty"` + + Script *string `json:"script,omitempty" tf:"script,omitempty"` + + ScriptURI *string `json:"scriptUri,omitempty" tf:"script_uri,omitempty"` + + // A script_uri_managed_identity block as defined above. + ScriptURIManagedIdentity []ScriptURIManagedIdentityParameters `json:"scriptUriManagedIdentity,omitempty" tf:"script_uri_managed_identity,omitempty"` +} + +type VirtualMachineRunCommandSourceParameters struct { + + // +kubebuilder:validation:Optional + CommandID *string `json:"commandId,omitempty" tf:"command_id,omitempty"` + + // +kubebuilder:validation:Optional + Script *string `json:"script,omitempty" tf:"script,omitempty"` + + // +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/storage/v1beta1.Blob + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + ScriptURI *string `json:"scriptUri,omitempty" tf:"script_uri,omitempty"` + + // A script_uri_managed_identity block as defined above. + // +kubebuilder:validation:Optional + ScriptURIManagedIdentity []ScriptURIManagedIdentityParameters `json:"scriptUriManagedIdentity,omitempty" tf:"script_uri_managed_identity,omitempty"` + + // Reference to a Blob in storage to populate scriptUri. + // +kubebuilder:validation:Optional + ScriptURIRef *v1.Reference `json:"scriptUriRef,omitempty" tf:"-"` + + // Selector for a Blob in storage to populate scriptUri. + // +kubebuilder:validation:Optional + ScriptURISelector *v1.Selector `json:"scriptUriSelector,omitempty" tf:"-"` +} + +// VirtualMachineRunCommandSpec defines the desired state of VirtualMachineRunCommand +type VirtualMachineRunCommandSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VirtualMachineRunCommandParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider VirtualMachineRunCommandInitParameters `json:"initProvider,omitempty"` +} + +// VirtualMachineRunCommandStatus defines the observed state of VirtualMachineRunCommand. +type VirtualMachineRunCommandStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VirtualMachineRunCommandObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// VirtualMachineRunCommand is the Schema for the VirtualMachineRunCommands API. Manages a Virtual Machine Run Command. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure} +type VirtualMachineRunCommand struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.source) || (has(self.initProvider) && has(self.initProvider.source))",message="spec.forProvider.source is a required parameter" + Spec VirtualMachineRunCommandSpec `json:"spec"` + Status VirtualMachineRunCommandStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VirtualMachineRunCommandList contains a list of VirtualMachineRunCommands +type VirtualMachineRunCommandList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VirtualMachineRunCommand `json:"items"` +} + +// Repository type metadata. +var ( + VirtualMachineRunCommand_Kind = "VirtualMachineRunCommand" + VirtualMachineRunCommand_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VirtualMachineRunCommand_Kind}.String() + VirtualMachineRunCommand_KindAPIVersion = VirtualMachineRunCommand_Kind + "." + CRDGroupVersion.String() + VirtualMachineRunCommand_GroupVersionKind = CRDGroupVersion.WithKind(VirtualMachineRunCommand_Kind) +) + +func init() { + SchemeBuilder.Register(&VirtualMachineRunCommand{}, &VirtualMachineRunCommandList{}) +} diff --git a/examples-generated/compute/v1beta1/virtualmachineruncommand.yaml b/examples-generated/compute/v1beta1/virtualmachineruncommand.yaml new file mode 100644 index 000000000..39d956b3a --- /dev/null +++ b/examples-generated/compute/v1beta1/virtualmachineruncommand.yaml @@ -0,0 +1,262 @@ +apiVersion: compute.azure.upbound.io/v1beta1 +kind: VirtualMachineRunCommand +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + location: West Europe + source: + - script: echo 'hello world' + virtualMachineIdSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: compute.azure.upbound.io/v1beta1 +kind: LinuxVirtualMachine +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + adminPasswordSecretRef: + key: example-key + name: example-secret + namespace: upbound-system + adminUsername: adminuser + disablePasswordAuthentication: false + identity: + - identityIds: + - ${azurerm_user_assigned_identity.example.id} + type: SystemAssigned, UserAssigned + location: West Europe + networkInterfaceIdsRefs: + - name: example + osDisk: + - caching: ReadWrite + storageAccountType: Premium_LRS + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + size: Standard_B2s + sourceImageReference: + - offer: 0001-com-ubuntu-server-jammy + publisher: Canonical + sku: 22_04-lts + version: latest + +--- + +apiVersion: network.azure.upbound.io/v1beta1 +kind: NetworkInterface +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + ipConfiguration: + - name: internal + privateIpAddressAllocation: Dynamic + subnetIdSelector: + matchLabels: + testing.upbound.io/example-name: example + location: West Europe + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: azure.upbound.io/v1beta1 +kind: ResourceGroup +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + location: West Europe + +--- + +apiVersion: authorization.azure.upbound.io/v1beta1 +kind: RoleAssignment +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + principalId: ${azurerm_user_assigned_identity.example.principal_id} + roleDefinitionName: Storage Blob Data Contributor + scope: ${azurerm_storage_account.example.id} + +--- + +apiVersion: storage.azure.upbound.io/v1beta1 +kind: Account +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + accountReplicationType: LRS + accountTier: Standard + location: West Europe + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: storage.azure.upbound.io/v1beta1 +kind: Blob +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example1 + name: example1 +spec: + forProvider: + sourceContent: echo 'hello world' + storageAccountNameSelector: + matchLabels: + testing.upbound.io/example-name: example + storageContainerNameSelector: + matchLabels: + testing.upbound.io/example-name: example + type: Block + +--- + +apiVersion: storage.azure.upbound.io/v1beta1 +kind: Blob +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example2 + name: example2 +spec: + forProvider: + storageAccountNameSelector: + matchLabels: + testing.upbound.io/example-name: example + storageContainerNameSelector: + matchLabels: + testing.upbound.io/example-name: example + type: Append + +--- + +apiVersion: storage.azure.upbound.io/v1beta1 +kind: Blob +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example3 + name: example3 +spec: + forProvider: + storageAccountNameSelector: + matchLabels: + testing.upbound.io/example-name: example + storageContainerNameSelector: + matchLabels: + testing.upbound.io/example-name: example + type: Append + +--- + +apiVersion: storage.azure.upbound.io/v1beta1 +kind: Container +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + containerAccessType: blob + storageAccountNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: network.azure.upbound.io/v1beta1 +kind: Subnet +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + addressPrefixes: + - 10.0.2.0/24 + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + virtualNetworkNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: managedidentity.azure.upbound.io/v1beta1 +kind: UserAssignedIdentity +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + location: West Europe + name: example-uai + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: network.azure.upbound.io/v1beta1 +kind: VirtualNetwork +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + addressSpace: + - 10.0.0.0/16 + location: West Europe + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example diff --git a/internal/controller/compute/virtualmachineruncommand/zz_controller.go b/internal/controller/compute/virtualmachineruncommand/zz_controller.go new file mode 100755 index 000000000..6258e1424 --- /dev/null +++ b/internal/controller/compute/virtualmachineruncommand/zz_controller.go @@ -0,0 +1,92 @@ +// SPDX-FileCopyrightText: 2024 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by upjet. DO NOT EDIT. + +package virtualmachineruncommand + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/statemetrics" + tjcontroller "github.com/crossplane/upjet/pkg/controller" + "github.com/crossplane/upjet/pkg/controller/handler" + "github.com/crossplane/upjet/pkg/metrics" + "github.com/pkg/errors" + ctrl "sigs.k8s.io/controller-runtime" + + v1beta1 "github.com/upbound/provider-azure/apis/compute/v1beta1" + features "github.com/upbound/provider-azure/internal/features" +) + +// Setup adds a controller that reconciles VirtualMachineRunCommand managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1beta1.VirtualMachineRunCommand_GroupVersionKind.String()) + var initializers managed.InitializerChain + initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) + } + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.VirtualMachineRunCommand_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.VirtualMachineRunCommand_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + opts := []managed.ReconcilerOption{ + managed.WithExternalConnecter( + tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["azurerm_virtual_machine_run_command"], + tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), + tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), + tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.VirtualMachineRunCommand_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(tjcontroller.NewOperationTrackerFinalizer(o.OperationTrackerStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3 * time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + } + if o.PollJitter != 0 { + opts = append(opts, managed.WithPollJitterHook(o.PollJitter)) + } + if o.Features.Enabled(features.EnableBetaManagementPolicies) { + opts = append(opts, managed.WithManagementPolicies()) + } + if o.MetricOptions != nil { + opts = append(opts, managed.WithMetricRecorder(o.MetricOptions.MRMetrics)) + } + + // register webhooks for the kind v1beta1.VirtualMachineRunCommand + // if they're enabled. + if o.StartWebhooks { + if err := ctrl.NewWebhookManagedBy(mgr). + For(&v1beta1.VirtualMachineRunCommand{}). + Complete(); err != nil { + return errors.Wrap(err, "cannot register webhook for the kind v1beta1.VirtualMachineRunCommand") + } + } + + if o.MetricOptions != nil && o.MetricOptions.MRStateMetrics != nil { + stateMetricsRecorder := statemetrics.NewMRStateRecorder( + mgr.GetClient(), o.Logger, o.MetricOptions.MRStateMetrics, &v1beta1.VirtualMachineRunCommandList{}, o.MetricOptions.PollStateMetricInterval, + ) + if err := mgr.Add(stateMetricsRecorder); err != nil { + return errors.Wrap(err, "cannot register MR state metrics recorder for kind v1beta1.VirtualMachineRunCommandList") + } + } + + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.VirtualMachineRunCommand_GroupVersionKind), opts...) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + WithEventFilter(xpresource.DesiredStateChanged()). + Watches(&v1beta1.VirtualMachineRunCommand{}, eventHandler). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/package/crds/compute.azure.upbound.io_virtualmachineruncommands.yaml b/package/crds/compute.azure.upbound.io_virtualmachineruncommands.yaml new file mode 100644 index 000000000..4dbc9ceda --- /dev/null +++ b/package/crds/compute.azure.upbound.io_virtualmachineruncommands.yaml @@ -0,0 +1,1423 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: virtualmachineruncommands.compute.azure.upbound.io +spec: + group: compute.azure.upbound.io + names: + categories: + - crossplane + - managed + - azure + kind: VirtualMachineRunCommand + listKind: VirtualMachineRunCommandList + plural: virtualmachineruncommands + singular: virtualmachineruncommand + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: VirtualMachineRunCommand is the Schema for the VirtualMachineRunCommands + API. Manages a Virtual Machine Run Command. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: VirtualMachineRunCommandSpec defines the desired state of + VirtualMachineRunCommand + properties: + deletionPolicy: + default: Delete + description: |- + DeletionPolicy specifies what will happen to the underlying external + when this managed resource is deleted - either "Delete" or "Orphan" the + external resource. + This field is planned to be deprecated in favor of the ManagementPolicies + field in a future release. Currently, both could be set independently and + non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + errorBlobManagedIdentity: + description: An error_blob_managed_identity block as defined below. + User-assigned managed Identity that has access to errorBlobUri + storage blob. + items: + properties: + clientIdSecretRef: + description: The client ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + objectIdSecretRef: + description: The object ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + errorBlobUri: + description: Specifies the Azure storage blob where script error + stream will be uploaded. + type: string + errorBlobUriRef: + description: Reference to a Blob in storage to populate errorBlobUri. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + errorBlobUriSelector: + description: Selector for a Blob in storage to populate errorBlobUri. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + location: + description: The Azure Region where the Virtual Machine Run Command + should exist. Changing this forces a new Virtual Machine Run + Command to be created. + type: string + outputBlobManagedIdentity: + description: An output_blob_managed_identity block as defined + below. User-assigned managed Identity that has access to outputBlobUri + storage blob. + items: + properties: + clientIdSecretRef: + description: The client ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + objectIdSecretRef: + description: The object ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + outputBlobUri: + description: Specifies the Azure storage blob where script output + stream will be uploaded. It can be basic blob URI with SAS token. + type: string + outputBlobUriRef: + description: Reference to a Blob in storage to populate outputBlobUri. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + outputBlobUriSelector: + description: Selector for a Blob in storage to populate outputBlobUri. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + parameter: + description: A list of parameter blocks as defined below. The + parameters used by the script. + items: + properties: + name: + description: The run parameter name. + type: string + value: + description: The run parameter value. + type: string + type: object + type: array + protectedParameter: + description: A list of protected_parameter blocks as defined below. + The protected parameters used by the script. + items: + properties: + nameSecretRef: + description: The run parameter name. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + valueSecretRef: + description: The run parameter value. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + required: + - nameSecretRef + - valueSecretRef + type: object + type: array + runAsPasswordSecretRef: + description: Specifies the user account password on the VM when + executing the Virtual Machine Run Command. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + runAsUser: + description: Specifies the user account on the VM when executing + the Virtual Machine Run Command. + type: string + source: + description: A source block as defined below. The source of the + run command script. + items: + properties: + commandId: + type: string + script: + type: string + scriptUri: + type: string + scriptUriManagedIdentity: + description: A script_uri_managed_identity block as defined + above. + items: + properties: + clientIdSecretRef: + description: The client ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + objectIdSecretRef: + description: The object ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + scriptUriRef: + description: Reference to a Blob in storage to populate + scriptUri. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + scriptUriSelector: + description: Selector for a Blob in storage to populate + scriptUri. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + Virtual Machine Run Command. + type: object + x-kubernetes-map-type: granular + virtualMachineId: + description: Specifies the Virtual Machine ID within which this + Virtual Machine Run Command should exist. Changing this forces + a new Virtual Machine Run Command to be created. + type: string + virtualMachineIdRef: + description: Reference to a LinuxVirtualMachine in compute to + populate virtualMachineId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualMachineIdSelector: + description: Selector for a LinuxVirtualMachine in compute to + populate virtualMachineId. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + errorBlobManagedIdentity: + description: An error_blob_managed_identity block as defined below. + User-assigned managed Identity that has access to errorBlobUri + storage blob. + items: + type: object + type: array + errorBlobUri: + description: Specifies the Azure storage blob where script error + stream will be uploaded. + type: string + errorBlobUriRef: + description: Reference to a Blob in storage to populate errorBlobUri. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + errorBlobUriSelector: + description: Selector for a Blob in storage to populate errorBlobUri. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + location: + description: The Azure Region where the Virtual Machine Run Command + should exist. Changing this forces a new Virtual Machine Run + Command to be created. + type: string + outputBlobManagedIdentity: + description: An output_blob_managed_identity block as defined + below. User-assigned managed Identity that has access to outputBlobUri + storage blob. + items: + type: object + type: array + outputBlobUri: + description: Specifies the Azure storage blob where script output + stream will be uploaded. It can be basic blob URI with SAS token. + type: string + outputBlobUriRef: + description: Reference to a Blob in storage to populate outputBlobUri. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + outputBlobUriSelector: + description: Selector for a Blob in storage to populate outputBlobUri. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + parameter: + description: A list of parameter blocks as defined below. The + parameters used by the script. + items: + properties: + name: + description: The run parameter name. + type: string + value: + description: The run parameter value. + type: string + type: object + type: array + protectedParameter: + description: A list of protected_parameter blocks as defined below. + The protected parameters used by the script. + items: + type: object + type: array + runAsUser: + description: Specifies the user account on the VM when executing + the Virtual Machine Run Command. + type: string + source: + description: A source block as defined below. The source of the + run command script. + items: + properties: + commandId: + type: string + script: + type: string + scriptUri: + type: string + scriptUriManagedIdentity: + description: A script_uri_managed_identity block as defined + above. + items: + type: object + type: array + scriptUriRef: + description: Reference to a Blob in storage to populate + scriptUri. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + scriptUriSelector: + description: Selector for a Blob in storage to populate + scriptUri. + properties: + matchControllerRef: + description: |- + MatchControllerRef ensures an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + Virtual Machine Run Command. + type: object + x-kubernetes-map-type: granular + type: object + managementPolicies: + default: + - '*' + description: |- + THIS IS A BETA FIELD. It is on by default but can be opted out + through a Crossplane feature flag. + ManagementPolicies specify the array of actions Crossplane is allowed to + take on the managed and external resources. + This field is planned to replace the DeletionPolicy field in a future + release. Currently, both could be set independently and non-default + values would be honored if the feature flag is enabled. If both are + custom, the DeletionPolicy field will be ignored. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md + items: + description: |- + A ManagementAction represents an action that the Crossplane controllers + can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: |- + ProviderConfigReference specifies how the provider that will be used to + create, observe, update, and delete this managed resource should be + configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: |- + PublishConnectionDetailsTo specifies the connection secret config which + contains a name, metadata and a reference to secret store config to + which any connection details for this managed resource should be written. + Connection details frequently include the endpoint, username, + and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: |- + SecretStoreConfigRef specifies which secret store config should be used + for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: |- + Resolution specifies whether resolution of this reference is required. + The default is 'Required', which means the reconcile will fail if the + reference cannot be resolved. 'Optional' means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: |- + Resolve specifies when this reference should be resolved. The default + is 'IfNotPresent', which will attempt to resolve the reference only when + the corresponding field is not present. Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: |- + Annotations are the annotations to be added to connection secret. + - For Kubernetes secrets, this will be used as "metadata.annotations". + - It is up to Secret Store implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: |- + Labels are the labels/tags to be added to connection secret. + - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store types. + type: object + type: + description: |- + Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: |- + WriteConnectionSecretToReference specifies the namespace and name of a + Secret to which any connection details for this managed resource should + be written. Connection details frequently include the endpoint, username, + and password required to connect to the managed resource. + This field is planned to be replaced in a future release in favor of + PublishConnectionDetailsTo. Currently, both could be set independently + and connection details would be published to both without affecting + each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: spec.forProvider.location is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.location) + || (has(self.initProvider) && has(self.initProvider.location))' + - message: spec.forProvider.source is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.source) + || (has(self.initProvider) && has(self.initProvider.source))' + status: + description: VirtualMachineRunCommandStatus defines the observed state + of VirtualMachineRunCommand. + properties: + atProvider: + properties: + errorBlobManagedIdentity: + description: An error_blob_managed_identity block as defined below. + User-assigned managed Identity that has access to errorBlobUri + storage blob. + items: + properties: + clientIdSecretRef: + description: The client ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + objectIdSecretRef: + description: The object ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + errorBlobUri: + description: Specifies the Azure storage blob where script error + stream will be uploaded. + type: string + id: + description: The ID of the Virtual Machine Run Command. + type: string + instanceView: + items: + properties: + endTime: + type: string + errorMessage: + type: string + executionMessage: + type: string + executionState: + type: string + exitCode: + type: number + output: + type: string + startTime: + type: string + type: object + type: array + location: + description: The Azure Region where the Virtual Machine Run Command + should exist. Changing this forces a new Virtual Machine Run + Command to be created. + type: string + outputBlobManagedIdentity: + description: An output_blob_managed_identity block as defined + below. User-assigned managed Identity that has access to outputBlobUri + storage blob. + items: + properties: + clientIdSecretRef: + description: The client ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + objectIdSecretRef: + description: The object ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + outputBlobUri: + description: Specifies the Azure storage blob where script output + stream will be uploaded. It can be basic blob URI with SAS token. + type: string + parameter: + description: A list of parameter blocks as defined below. The + parameters used by the script. + items: + properties: + name: + description: The run parameter name. + type: string + value: + description: The run parameter value. + type: string + type: object + type: array + protectedParameter: + description: A list of protected_parameter blocks as defined below. + The protected parameters used by the script. + items: + properties: + nameSecretRef: + description: The run parameter name. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + valueSecretRef: + description: The run parameter value. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + required: + - nameSecretRef + - valueSecretRef + type: object + type: array + runAsUser: + description: Specifies the user account on the VM when executing + the Virtual Machine Run Command. + type: string + source: + description: A source block as defined below. The source of the + run command script. + items: + properties: + commandId: + type: string + script: + type: string + scriptUri: + type: string + scriptUriManagedIdentity: + description: A script_uri_managed_identity block as defined + above. + items: + properties: + clientIdSecretRef: + description: The client ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + objectIdSecretRef: + description: The object ID of the managed identity. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + Virtual Machine Run Command. + type: object + x-kubernetes-map-type: granular + virtualMachineId: + description: Specifies the Virtual Machine ID within which this + Virtual Machine Run Command should exist. Changing this forces + a new Virtual Machine Run Command to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: |- + LastTransitionTime is the last time this condition transitioned from one + status to another. + format: date-time + type: string + message: + description: |- + A Message containing details about this condition's last transition from + one status to another, if any. + type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: |- + Type of this condition. At most one of each condition type may apply to + a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} From 6f8b05cf33f1c610337b7be4fcca1fe500f3ec4d Mon Sep 17 00:00:00 2001 From: Nico Andres Date: Thu, 2 May 2024 10:18:31 +0200 Subject: [PATCH 4/6] added example Signed-off-by: Nico Andres --- .../compute/virtualmachineruncommand.yaml | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 examples/compute/virtualmachineruncommand.yaml diff --git a/examples/compute/virtualmachineruncommand.yaml b/examples/compute/virtualmachineruncommand.yaml new file mode 100644 index 000000000..107a99b1d --- /dev/null +++ b/examples/compute/virtualmachineruncommand.yaml @@ -0,0 +1,125 @@ +apiVersion: compute.azure.upbound.io/v1beta1 +kind: VirtualMachineRunCommand +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + location: West Europe + source: + - script: echo 'hello world' + virtualMachineIdSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: compute.azure.upbound.io/v1beta1 +kind: LinuxVirtualMachine +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + adminSshKey: + - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com + username: adminuser + adminUsername: adminuser + location: West Europe + networkInterfaceIdsRefs: + - name: example + osDisk: + - caching: ReadWrite + storageAccountType: Standard_LRS + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + size: Standard_B2s + sourceImageReference: + - offer: 0001-com-ubuntu-server-jammy + publisher: Canonical + sku: 22_04-lts + version: latest + +--- + +apiVersion: network.azure.upbound.io/v1beta1 +kind: NetworkInterface +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + ipConfiguration: + - name: internal + privateIpAddressAllocation: Dynamic + subnetIdSelector: + matchLabels: + testing.upbound.io/example-name: example + location: West Europe + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: azure.upbound.io/v1beta1 +kind: ResourceGroup +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + location: West Europe + +--- + +apiVersion: network.azure.upbound.io/v1beta1 +kind: Subnet +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + addressPrefixes: + - 10.0.2.0/24 + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + virtualNetworkNameSelector: + matchLabels: + testing.upbound.io/example-name: example + +--- + +apiVersion: network.azure.upbound.io/v1beta1 +kind: VirtualNetwork +metadata: + annotations: + meta.upbound.io/example-id: compute/v1beta1/virtualmachineruncommand + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + addressSpace: + - 10.0.0.0/16 + location: West Europe + resourceGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example From 4ae66af32aa67fb676cef41d81956d0d0ab7e6dd Mon Sep 17 00:00:00 2001 From: Nico Andres Date: Thu, 16 May 2024 09:52:57 +0200 Subject: [PATCH 5/6] Revert changes mentioned in https://github.com/crossplane-contrib/provider-upjet-azure/pull/725#pullrequestreview-2041300964 Signed-off-by: Nico Andres --- apis/datafactory/v1beta1/zz_datasetsnowflake_types.go | 6 +++--- apis/web/v1beta1/zz_functionapp_types.go | 6 +++--- apis/web/v1beta1/zz_linuxfunctionapp_types.go | 6 +++--- .../datafactory.azure.upbound.io_datasetsnowflakes.yaml | 6 +++--- package/crds/web.azure.upbound.io_functionapps.yaml | 6 +++--- package/crds/web.azure.upbound.io_linuxfunctionapps.yaml | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go b/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go index ccd77760d..50f16ca96 100755 --- a/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go +++ b/apis/datafactory/v1beta1/zz_datasetsnowflake_types.go @@ -167,7 +167,7 @@ type DataSetSnowflakeSchemaColumnInitParameters struct { // The number of digits allowed to the right of the decimal point. Scale *float64 `json:"scale,omitempty" tf:"scale,omitempty"` - // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. + // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -182,7 +182,7 @@ type DataSetSnowflakeSchemaColumnObservation struct { // The number of digits allowed to the right of the decimal point. Scale *float64 `json:"scale,omitempty" tf:"scale,omitempty"` - // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. + // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -200,7 +200,7 @@ type DataSetSnowflakeSchemaColumnParameters struct { // +kubebuilder:validation:Optional Scale *float64 `json:"scale,omitempty" tf:"scale,omitempty"` - // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. + // Type of the column. Valid values are NUMBER, DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ, VARIANT, OBJECT, ARRAY, GEOGRAPHY. Please note these values are case sensitive. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` } diff --git a/apis/web/v1beta1/zz_functionapp_types.go b/apis/web/v1beta1/zz_functionapp_types.go index 4e6890bcd..71036fabf 100755 --- a/apis/web/v1beta1/zz_functionapp_types.go +++ b/apis/web/v1beta1/zz_functionapp_types.go @@ -348,7 +348,7 @@ type FunctionAppInitParameters struct { // Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule. Name *string `json:"name,omitempty" tf:"name,omitempty"` - // A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". + // A string indicating the Operating System type for this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` // The name of the resource group in which to create the Function App. Changing this forces a new resource to be created. @@ -443,7 +443,7 @@ type FunctionAppObservation struct { // Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule. Name *string `json:"name,omitempty" tf:"name,omitempty"` - // A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". + // A string indicating the Operating System type for this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` // A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12 @@ -540,7 +540,7 @@ type FunctionAppParameters struct { // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` - // A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "". + // A string indicating the Operating System type for this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". // +kubebuilder:validation:Optional OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` diff --git a/apis/web/v1beta1/zz_linuxfunctionapp_types.go b/apis/web/v1beta1/zz_linuxfunctionapp_types.go index 8a6ef6d49..93dd502f8 100755 --- a/apis/web/v1beta1/zz_linuxfunctionapp_types.go +++ b/apis/web/v1beta1/zz_linuxfunctionapp_types.go @@ -2348,7 +2348,7 @@ type LinuxFunctionAppSiteConfigInitParameters struct { RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty" tf:"remote_debugging_enabled,omitempty"` // The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` + // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty" tf:"remote_debugging_version,omitempty"` // Should Scale Monitoring of the Functions Runtime be enabled? @@ -2483,7 +2483,7 @@ type LinuxFunctionAppSiteConfigObservation struct { RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty" tf:"remote_debugging_enabled,omitempty"` // The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` + // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty" tf:"remote_debugging_version,omitempty"` // Should Scale Monitoring of the Functions Runtime be enabled? @@ -2647,7 +2647,7 @@ type LinuxFunctionAppSiteConfigParameters struct { RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty" tf:"remote_debugging_enabled,omitempty"` // The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` + // The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ // +kubebuilder:validation:Optional RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty" tf:"remote_debugging_version,omitempty"` diff --git a/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml b/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml index 61679f126..a1ec9a559 100644 --- a/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml +++ b/package/crds/datafactory.azure.upbound.io_datasetsnowflakes.yaml @@ -276,7 +276,7 @@ spec: type: number type: description: Type of the column. Valid values are NUMBER, - DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, + DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, @@ -428,7 +428,7 @@ spec: type: number type: description: Type of the column. Valid values are NUMBER, - DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, + DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, @@ -670,7 +670,7 @@ spec: type: number type: description: Type of the column. Valid values are NUMBER, - DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT``FLOAT4, + DECIMAL, NUMERIC, INT, INTEGER, BIGINT, SMALLINT, FLOAT“FLOAT4, FLOAT8, DOUBLE, DOUBLE PRECISION, REAL, VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY, BOOLEAN, DATE, DATETIME, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, diff --git a/package/crds/web.azure.upbound.io_functionapps.yaml b/package/crds/web.azure.upbound.io_functionapps.yaml index 715bdeb3e..ea8dbb5ec 100644 --- a/package/crds/web.azure.upbound.io_functionapps.yaml +++ b/package/crds/web.azure.upbound.io_functionapps.yaml @@ -476,7 +476,7 @@ spec: type: string osType: description: A string indicating the Operating System type for - this function app. Possible values are linux and ``(empty string). + this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". type: string @@ -1382,7 +1382,7 @@ spec: type: string osType: description: A string indicating the Operating System type for - this function app. Possible values are linux and ``(empty string). + this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". type: string @@ -2389,7 +2389,7 @@ spec: type: string osType: description: A string indicating the Operating System type for - this function app. Possible values are linux and ``(empty string). + this function app. Possible values are linux and “(empty string). Changing this forces a new resource to be created. Defaults to "". type: string diff --git a/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml b/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml index 5e9570afe..7eb3dc641 100644 --- a/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml +++ b/package/crds/web.azure.upbound.io_linuxfunctionapps.yaml @@ -1562,7 +1562,7 @@ spec: remoteDebuggingVersion: description: |- The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` + The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ type: string runtimeScaleMonitoringEnabled: description: |- @@ -3292,7 +3292,7 @@ spec: remoteDebuggingVersion: description: |- The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` + The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ type: string runtimeScaleMonitoringEnabled: description: |- @@ -5020,7 +5020,7 @@ spec: remoteDebuggingVersion: description: |- The Remote Debugging Version. Possible values include VS2017, VS2019, and VS2022. - The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`` + The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022“ type: string runtimeScaleMonitoringEnabled: description: |- From ee27b3cf5854110ce46b560cad802255302c0cbb Mon Sep 17 00:00:00 2001 From: Nico Andres Date: Thu, 16 May 2024 10:29:10 +0200 Subject: [PATCH 6/6] Make changes mentioned in https://github.com/crossplane-contrib/provider-upjet-azure/pull/725#discussion_r1591331091 Signed-off-by: Nico Andres --- config/externalname.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/externalname.go b/config/externalname.go index 68d9c6b3c..82261e9e1 100644 --- a/config/externalname.go +++ b/config/externalname.go @@ -230,9 +230,9 @@ var TerraformPluginSDKExternalNameConfigs = map[string]config.ExternalName{ "azurerm_managed_disk_sas_token": config.IdentifierFromProvider, "azurerm_virtual_machine_extension": config.TemplatedStringAsIdentifier("name", "{{ .parameters.virtual_machine_id }}/extensions/{{ .external_name }}"), // /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1/dataDisks/disk1 - "azurerm_virtual_machine_run_command": config.TemplatedStringAsIdentifier("name", "{{ .parameters.virtual_machine_id }}/runCommands/{{ .external_name }}"), - // /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/vm1/runCommands/rc1 "azurerm_virtual_machine_data_disk_attachment": config.IdentifierFromProvider, + // /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/vm1/runCommands/rc1 + "azurerm_virtual_machine_run_command": config.TemplatedStringAsIdentifier("name", "{{ .parameters.virtual_machine_id }}/runCommands/{{ .external_name }}"), // cdn //