From d4e10a6ff6882ab01778b72aac0fd24c6da506d2 Mon Sep 17 00:00:00 2001 From: Mykhailo Zahlada <8487757+mehighlow@users.noreply.github.com> Date: Fri, 12 Jan 2024 12:33:33 -0800 Subject: [PATCH] Signalr keys (#3698) * Exports SignalR API Keys * updates signalr tests * updates signalr recordings: adds keys * Update v2/api/signalrservice/customizations/signal_r_extention_authorization.go Co-authored-by: Matthew Christopher * Update v2/internal/controllers/crd_signalr_test.go Co-authored-by: Matthew Christopher * removes comment * reverts go.mod go.sum * re-record signalr test --------- Co-authored-by: Matthew Christopher --- .../signal_r_extention_authorization.go | 109 ++ .../v1api20211001/signal_r_types_gen.go | 210 ++- .../v1api20211001/signal_r_types_gen_test.go | 201 +++ .../storage/signal_r_types_gen.go | 17 + .../storage/signal_r_types_gen_test.go | 117 ++ .../v1api20211001/storage/structure.txt | 10 +- .../storage/zz_generated.deepcopy.go | 74 + .../v1api20211001/structure.txt | 8 +- .../v1api20211001/zz_generated.deepcopy.go | 60 + v2/azure-arm.yaml | 5 + v2/cmd/asoctl/go.mod | 1 + v2/cmd/asoctl/go.sum | 4 +- v2/go.mod | 1 + v2/go.sum | 2 + v2/internal/controllers/crd_signalr_test.go | 87 ++ ...nalrservice_v1api_CreationAndDeletion.yaml | 1185 +++++++++-------- .../Test_SignalRService_SignalR_CRUD.yaml | 796 ++++++++++- .../v1api/v1api20211001_signalr.yaml | 14 + 18 files changed, 2272 insertions(+), 629 deletions(-) create mode 100644 v2/api/signalrservice/customizations/signal_r_extention_authorization.go diff --git a/v2/api/signalrservice/customizations/signal_r_extention_authorization.go b/v2/api/signalrservice/customizations/signal_r_extention_authorization.go new file mode 100644 index 00000000000..4f8fe1364c9 --- /dev/null +++ b/v2/api/signalrservice/customizations/signal_r_extention_authorization.go @@ -0,0 +1,109 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT license. + */ + +package customizations + +import ( + "context" + + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/signalr/armsignalr" + "github.com/go-logr/logr" + "github.com/pkg/errors" + v1 "k8s.io/api/core/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/conversion" + + signalr "github.com/Azure/azure-service-operator/v2/api/signalrservice/v1api20211001/storage" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + . "github.com/Azure/azure-service-operator/v2/internal/logging" + "github.com/Azure/azure-service-operator/v2/internal/util/to" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" +) + +// Ensure that SignalRAuthorizationExtension implements the KubernetesExporter interface +var _ genruntime.KubernetesExporter = &SignalRExtension{} + +// ExportKubernetesResources implements genruntime.KubernetesExporter +func (*SignalRExtension) ExportKubernetesResources( + ctx context.Context, + obj genruntime.MetaObject, + armClient *genericarmclient.GenericClient, + log logr.Logger) ([]client.Object, error) { + // Make sure we're working with the current hub version of the resource + // This will need to be updated if the hub version changes + typedObj, ok := obj.(*signalr.SignalR) + if !ok { + return nil, errors.Errorf( + "cannot run on unknown resource type %T, expected *signalr.SignalR", obj) + } + + // Type assert that we are the hub type. This will fail to compile if + // the hub type has been changed but this extension has not + var _ conversion.Hub = typedObj + + hasSecrets := secretsSpecified(typedObj) + if !hasSecrets { + log.V(Debug).Info("No secrets retrieval to perform as operatorSpec is empty") + return nil, nil + } + + id, err := genruntime.GetAndParseResourceID(typedObj) + if err != nil { + return nil, err + } + + // Using armClient.ClientOptions() here ensures we share the same HTTP connection, so this is not opening a new + // connection each time through + clientFactory, err := armsignalr.NewClientFactory(id.SubscriptionID, armClient.Creds(), armClient.ClientOptions()) + if err != nil { + return nil, errors.Wrapf(err, "failed to create ARM signalR client factory") + } + + res, err := clientFactory.NewClient().ListKeys(ctx, id.ResourceGroupName, typedObj.AzureName(), nil) + if err != nil { + return nil, errors.Wrapf(err, "failed to list keys") + } + + secretSlice, err := secretsToWrite(typedObj, res.Keys) + if err != nil { + return nil, err + } + + return secrets.SliceToClientObjectSlice(secretSlice), nil + +} + +func secretsSpecified(obj *signalr.SignalR) bool { + if obj.Spec.OperatorSpec == nil || obj.Spec.OperatorSpec.Secrets == nil { + return false + } + + specSecrets := obj.Spec.OperatorSpec.Secrets + hasSecrets := false + if specSecrets.PrimaryKey != nil || + specSecrets.SecondaryKey != nil || + specSecrets.PrimaryConnectionString != nil || + specSecrets.SecondaryConnectionString != nil { + hasSecrets = true + } + + return hasSecrets +} + +func secretsToWrite(obj *signalr.SignalR, accessKeys armsignalr.Keys) ([]*v1.Secret, error) { + operatorSpecSecrets := obj.Spec.OperatorSpec.Secrets + if operatorSpecSecrets == nil { + return nil, errors.Errorf("unexpected nil operatorspec") + } + + collector := secrets.NewCollector(obj.Namespace) + collector.AddValue(operatorSpecSecrets.PrimaryKey, to.Value(accessKeys.PrimaryKey)) + collector.AddValue(operatorSpecSecrets.SecondaryKey, to.Value(accessKeys.SecondaryKey)) + collector.AddValue(operatorSpecSecrets.PrimaryConnectionString, to.Value(accessKeys.PrimaryConnectionString)) + collector.AddValue(operatorSpecSecrets.SecondaryConnectionString, to.Value(accessKeys.SecondaryConnectionString)) + + return collector.Values() +} diff --git a/v2/api/signalrservice/v1api20211001/signal_r_types_gen.go b/v2/api/signalrservice/v1api20211001/signal_r_types_gen.go index 2cd4db6f018..ecc7303e17f 100644 --- a/v2/api/signalrservice/v1api20211001/signal_r_types_gen.go +++ b/v2/api/signalrservice/v1api20211001/signal_r_types_gen.go @@ -208,7 +208,7 @@ func (signalR *SignalR) ValidateUpdate(old runtime.Object) (admission.Warnings, // createValidations validates the creation of the resource func (signalR *SignalR) createValidations() []func() (admission.Warnings, error) { - return []func() (admission.Warnings, error){signalR.validateResourceReferences, signalR.validateOwnerReference} + return []func() (admission.Warnings, error){signalR.validateResourceReferences, signalR.validateOwnerReference, signalR.validateSecretDestinations} } // deleteValidations validates the deletion of the resource @@ -226,6 +226,9 @@ func (signalR *SignalR) updateValidations() []func(old runtime.Object) (admissio func(old runtime.Object) (admission.Warnings, error) { return signalR.validateOwnerReference() }, + func(old runtime.Object) (admission.Warnings, error) { + return signalR.validateSecretDestinations() + }, } } @@ -243,6 +246,23 @@ func (signalR *SignalR) validateResourceReferences() (admission.Warnings, error) return genruntime.ValidateResourceReferences(refs) } +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (signalR *SignalR) validateSecretDestinations() (admission.Warnings, error) { + if signalR.Spec.OperatorSpec == nil { + return nil, nil + } + if signalR.Spec.OperatorSpec.Secrets == nil { + return nil, nil + } + toValidate := []*genruntime.SecretDestination{ + signalR.Spec.OperatorSpec.Secrets.PrimaryConnectionString, + signalR.Spec.OperatorSpec.Secrets.PrimaryKey, + signalR.Spec.OperatorSpec.Secrets.SecondaryConnectionString, + signalR.Spec.OperatorSpec.Secrets.SecondaryKey, + } + return genruntime.ValidateSecretDestinations(toValidate) +} + // validateWriteOnceProperties validates all WriteOnce properties func (signalR *SignalR) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { oldObj, ok := old.(*SignalR) @@ -366,6 +386,10 @@ type SignalR_Spec struct { // NetworkACLs: Network ACLs for the resource NetworkACLs *SignalRNetworkACLs `json:"networkACLs,omitempty"` + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *SignalROperatorSpec `json:"operatorSpec,omitempty"` + // +kubebuilder:validation:Required // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a @@ -616,6 +640,8 @@ func (signalR *SignalR_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerRefe } } + // no assignment for property "OperatorSpec" + // Set property "Owner": signalR.Owner = &genruntime.KnownResourceReference{ Name: owner.Name, @@ -833,6 +859,18 @@ func (signalR *SignalR_Spec) AssignProperties_From_SignalR_Spec(source *v2021100 signalR.NetworkACLs = nil } + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec SignalROperatorSpec + err := operatorSpec.AssignProperties_From_SignalROperatorSpec(source.OperatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SignalROperatorSpec() to populate field OperatorSpec") + } + signalR.OperatorSpec = &operatorSpec + } else { + signalR.OperatorSpec = nil + } + // Owner if source.Owner != nil { owner := source.Owner.Copy() @@ -988,6 +1026,18 @@ func (signalR *SignalR_Spec) AssignProperties_To_SignalR_Spec(destination *v2021 destination.NetworkACLs = nil } + // OperatorSpec + if signalR.OperatorSpec != nil { + var operatorSpec v20211001s.SignalROperatorSpec + err := signalR.OperatorSpec.AssignProperties_To_SignalROperatorSpec(&operatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SignalROperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + // OriginalVersion destination.OriginalVersion = signalR.OriginalVersion() @@ -4133,6 +4183,59 @@ func (acLs *SignalRNetworkACLs_STATUS) AssignProperties_To_SignalRNetworkACLs_ST return nil } +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type SignalROperatorSpec struct { + // Secrets: configures where to place Azure generated secrets. + Secrets *SignalROperatorSecrets `json:"secrets,omitempty"` +} + +// AssignProperties_From_SignalROperatorSpec populates our SignalROperatorSpec from the provided source SignalROperatorSpec +func (operator *SignalROperatorSpec) AssignProperties_From_SignalROperatorSpec(source *v20211001s.SignalROperatorSpec) error { + + // Secrets + if source.Secrets != nil { + var secret SignalROperatorSecrets + err := secret.AssignProperties_From_SignalROperatorSecrets(source.Secrets) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SignalROperatorSecrets() to populate field Secrets") + } + operator.Secrets = &secret + } else { + operator.Secrets = nil + } + + // No error + return nil +} + +// AssignProperties_To_SignalROperatorSpec populates the provided destination SignalROperatorSpec from our SignalROperatorSpec +func (operator *SignalROperatorSpec) AssignProperties_To_SignalROperatorSpec(destination *v20211001s.SignalROperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Secrets + if operator.Secrets != nil { + var secret v20211001s.SignalROperatorSecrets + err := operator.Secrets.AssignProperties_To_SignalROperatorSecrets(&secret) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SignalROperatorSecrets() to populate field Secrets") + } + destination.Secrets = &secret + } else { + destination.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + // TLS settings for the resource type SignalRTlsSettings struct { // ClientCertEnabled: Request client certificate during TLS handshake if enabled @@ -5303,6 +5406,111 @@ func (category *ResourceLogCategory_STATUS) AssignProperties_To_ResourceLogCateg return nil } +type SignalROperatorSecrets struct { + // PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + // will not be retrieved from Azure. + PrimaryConnectionString *genruntime.SecretDestination `json:"primaryConnectionString,omitempty"` + + // PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + // Azure. + PrimaryKey *genruntime.SecretDestination `json:"primaryKey,omitempty"` + + // SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + // will not be retrieved from Azure. + SecondaryConnectionString *genruntime.SecretDestination `json:"secondaryConnectionString,omitempty"` + + // SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + // from Azure. + SecondaryKey *genruntime.SecretDestination `json:"secondaryKey,omitempty"` +} + +// AssignProperties_From_SignalROperatorSecrets populates our SignalROperatorSecrets from the provided source SignalROperatorSecrets +func (secrets *SignalROperatorSecrets) AssignProperties_From_SignalROperatorSecrets(source *v20211001s.SignalROperatorSecrets) error { + + // PrimaryConnectionString + if source.PrimaryConnectionString != nil { + primaryConnectionString := source.PrimaryConnectionString.Copy() + secrets.PrimaryConnectionString = &primaryConnectionString + } else { + secrets.PrimaryConnectionString = nil + } + + // PrimaryKey + if source.PrimaryKey != nil { + primaryKey := source.PrimaryKey.Copy() + secrets.PrimaryKey = &primaryKey + } else { + secrets.PrimaryKey = nil + } + + // SecondaryConnectionString + if source.SecondaryConnectionString != nil { + secondaryConnectionString := source.SecondaryConnectionString.Copy() + secrets.SecondaryConnectionString = &secondaryConnectionString + } else { + secrets.SecondaryConnectionString = nil + } + + // SecondaryKey + if source.SecondaryKey != nil { + secondaryKey := source.SecondaryKey.Copy() + secrets.SecondaryKey = &secondaryKey + } else { + secrets.SecondaryKey = nil + } + + // No error + return nil +} + +// AssignProperties_To_SignalROperatorSecrets populates the provided destination SignalROperatorSecrets from our SignalROperatorSecrets +func (secrets *SignalROperatorSecrets) AssignProperties_To_SignalROperatorSecrets(destination *v20211001s.SignalROperatorSecrets) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PrimaryConnectionString + if secrets.PrimaryConnectionString != nil { + primaryConnectionString := secrets.PrimaryConnectionString.Copy() + destination.PrimaryConnectionString = &primaryConnectionString + } else { + destination.PrimaryConnectionString = nil + } + + // PrimaryKey + if secrets.PrimaryKey != nil { + primaryKey := secrets.PrimaryKey.Copy() + destination.PrimaryKey = &primaryKey + } else { + destination.PrimaryKey = nil + } + + // SecondaryConnectionString + if secrets.SecondaryConnectionString != nil { + secondaryConnectionString := secrets.SecondaryConnectionString.Copy() + destination.SecondaryConnectionString = &secondaryConnectionString + } else { + destination.SecondaryConnectionString = nil + } + + // SecondaryKey + if secrets.SecondaryKey != nil { + secondaryKey := secrets.SecondaryKey.Copy() + destination.SecondaryKey = &secondaryKey + } else { + destination.SecondaryKey = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + // Upstream template item settings. It defines the Upstream URL of the incoming requests. // The template defines the pattern // of the event, the hub or the category of the incoming request that matches current URL template. diff --git a/v2/api/signalrservice/v1api20211001/signal_r_types_gen_test.go b/v2/api/signalrservice/v1api20211001/signal_r_types_gen_test.go index c573c496ab2..dea69bc1103 100644 --- a/v2/api/signalrservice/v1api20211001/signal_r_types_gen_test.go +++ b/v2/api/signalrservice/v1api20211001/signal_r_types_gen_test.go @@ -287,6 +287,7 @@ func AddRelatedPropertyGeneratorsForSignalR_Spec(gens map[string]gopter.Gen) { gens["Features"] = gen.SliceOf(SignalRFeatureGenerator()) gens["Identity"] = gen.PtrOf(ManagedIdentityGenerator()) gens["NetworkACLs"] = gen.PtrOf(SignalRNetworkACLsGenerator()) + gens["OperatorSpec"] = gen.PtrOf(SignalROperatorSpecGenerator()) gens["ResourceLogConfiguration"] = gen.PtrOf(ResourceLogConfigurationGenerator()) gens["Sku"] = gen.PtrOf(ResourceSkuGenerator()) gens["Tls"] = gen.PtrOf(SignalRTlsSettingsGenerator()) @@ -2172,6 +2173,109 @@ func AddRelatedPropertyGeneratorsForSignalRNetworkACLs_STATUS(gens map[string]go gens["PublicNetwork"] = gen.PtrOf(NetworkACL_STATUSGenerator()) } +func Test_SignalROperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SignalROperatorSpec to SignalROperatorSpec via AssignProperties_To_SignalROperatorSpec & AssignProperties_From_SignalROperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForSignalROperatorSpec, SignalROperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSignalROperatorSpec tests if a specific instance of SignalROperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSignalROperatorSpec(subject SignalROperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20211001s.SignalROperatorSpec + err := copied.AssignProperties_To_SignalROperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SignalROperatorSpec + err = actual.AssignProperties_From_SignalROperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SignalROperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SignalROperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSignalROperatorSpec, SignalROperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSignalROperatorSpec runs a test to see if a specific instance of SignalROperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForSignalROperatorSpec(subject SignalROperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SignalROperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SignalROperatorSpec instances for property testing - lazily instantiated by +// SignalROperatorSpecGenerator() +var signalROperatorSpecGenerator gopter.Gen + +// SignalROperatorSpecGenerator returns a generator of SignalROperatorSpec instances for property testing. +func SignalROperatorSpecGenerator() gopter.Gen { + if signalROperatorSpecGenerator != nil { + return signalROperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSignalROperatorSpec(generators) + signalROperatorSpecGenerator = gen.Struct(reflect.TypeOf(SignalROperatorSpec{}), generators) + + return signalROperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForSignalROperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSignalROperatorSpec(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.PtrOf(SignalROperatorSecretsGenerator()) +} + func Test_SignalRTlsSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3147,6 +3251,103 @@ func AddIndependentPropertyGeneratorsForResourceLogCategory_STATUS(gens map[stri gens["Name"] = gen.PtrOf(gen.AlphaString()) } +func Test_SignalROperatorSecrets_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SignalROperatorSecrets to SignalROperatorSecrets via AssignProperties_To_SignalROperatorSecrets & AssignProperties_From_SignalROperatorSecrets returns original", + prop.ForAll(RunPropertyAssignmentTestForSignalROperatorSecrets, SignalROperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSignalROperatorSecrets tests if a specific instance of SignalROperatorSecrets can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSignalROperatorSecrets(subject SignalROperatorSecrets) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20211001s.SignalROperatorSecrets + err := copied.AssignProperties_To_SignalROperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SignalROperatorSecrets + err = actual.AssignProperties_From_SignalROperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SignalROperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SignalROperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSignalROperatorSecrets, SignalROperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSignalROperatorSecrets runs a test to see if a specific instance of SignalROperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForSignalROperatorSecrets(subject SignalROperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SignalROperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SignalROperatorSecrets instances for property testing - lazily instantiated by +// SignalROperatorSecretsGenerator() +var signalROperatorSecretsGenerator gopter.Gen + +// SignalROperatorSecretsGenerator returns a generator of SignalROperatorSecrets instances for property testing. +func SignalROperatorSecretsGenerator() gopter.Gen { + if signalROperatorSecretsGenerator != nil { + return signalROperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + signalROperatorSecretsGenerator = gen.Struct(reflect.TypeOf(SignalROperatorSecrets{}), generators) + + return signalROperatorSecretsGenerator +} + func Test_UpstreamTemplate_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen.go b/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen.go index 2b68e0e3a4f..baa636176b7 100644 --- a/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen.go +++ b/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen.go @@ -157,6 +157,7 @@ type SignalR_Spec struct { Kind *string `json:"kind,omitempty"` Location *string `json:"location,omitempty"` NetworkACLs *SignalRNetworkACLs `json:"networkACLs,omitempty"` + OperatorSpec *SignalROperatorSpec `json:"operatorSpec,omitempty"` OriginalVersion string `json:"originalVersion,omitempty"` // +kubebuilder:validation:Required @@ -376,6 +377,13 @@ type SignalRNetworkACLs_STATUS struct { PublicNetwork *NetworkACL_STATUS `json:"publicNetwork,omitempty"` } +// Storage version of v1api20211001.SignalROperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type SignalROperatorSpec struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secrets *SignalROperatorSecrets `json:"secrets,omitempty"` +} + // Storage version of v1api20211001.SignalRTlsSettings // TLS settings for the resource type SignalRTlsSettings struct { @@ -452,6 +460,15 @@ type ResourceLogCategory_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// Storage version of v1api20211001.SignalROperatorSecrets +type SignalROperatorSecrets struct { + PrimaryConnectionString *genruntime.SecretDestination `json:"primaryConnectionString,omitempty"` + PrimaryKey *genruntime.SecretDestination `json:"primaryKey,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecondaryConnectionString *genruntime.SecretDestination `json:"secondaryConnectionString,omitempty"` + SecondaryKey *genruntime.SecretDestination `json:"secondaryKey,omitempty"` +} + // Storage version of v1api20211001.UpstreamTemplate // Upstream template item settings. It defines the Upstream URL of the incoming requests. // The template defines the pattern diff --git a/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen_test.go b/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen_test.go index 50c81d36fbd..0c22f5dc281 100644 --- a/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen_test.go +++ b/v2/api/signalrservice/v1api20211001/storage/signal_r_types_gen_test.go @@ -160,6 +160,7 @@ func AddRelatedPropertyGeneratorsForSignalR_Spec(gens map[string]gopter.Gen) { gens["Features"] = gen.SliceOf(SignalRFeatureGenerator()) gens["Identity"] = gen.PtrOf(ManagedIdentityGenerator()) gens["NetworkACLs"] = gen.PtrOf(SignalRNetworkACLsGenerator()) + gens["OperatorSpec"] = gen.PtrOf(SignalROperatorSpecGenerator()) gens["ResourceLogConfiguration"] = gen.PtrOf(ResourceLogConfigurationGenerator()) gens["Sku"] = gen.PtrOf(ResourceSkuGenerator()) gens["Tls"] = gen.PtrOf(SignalRTlsSettingsGenerator()) @@ -1306,6 +1307,67 @@ func AddRelatedPropertyGeneratorsForSignalRNetworkACLs_STATUS(gens map[string]go gens["PublicNetwork"] = gen.PtrOf(NetworkACL_STATUSGenerator()) } +func Test_SignalROperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SignalROperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSignalROperatorSpec, SignalROperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSignalROperatorSpec runs a test to see if a specific instance of SignalROperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForSignalROperatorSpec(subject SignalROperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SignalROperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SignalROperatorSpec instances for property testing - lazily instantiated by +// SignalROperatorSpecGenerator() +var signalROperatorSpecGenerator gopter.Gen + +// SignalROperatorSpecGenerator returns a generator of SignalROperatorSpec instances for property testing. +func SignalROperatorSpecGenerator() gopter.Gen { + if signalROperatorSpecGenerator != nil { + return signalROperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSignalROperatorSpec(generators) + signalROperatorSpecGenerator = gen.Struct(reflect.TypeOf(SignalROperatorSpec{}), generators) + + return signalROperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForSignalROperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSignalROperatorSpec(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.PtrOf(SignalROperatorSecretsGenerator()) +} + func Test_SignalRTlsSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1863,6 +1925,61 @@ func AddIndependentPropertyGeneratorsForResourceLogCategory_STATUS(gens map[stri gens["Name"] = gen.PtrOf(gen.AlphaString()) } +func Test_SignalROperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SignalROperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSignalROperatorSecrets, SignalROperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSignalROperatorSecrets runs a test to see if a specific instance of SignalROperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForSignalROperatorSecrets(subject SignalROperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SignalROperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SignalROperatorSecrets instances for property testing - lazily instantiated by +// SignalROperatorSecretsGenerator() +var signalROperatorSecretsGenerator gopter.Gen + +// SignalROperatorSecretsGenerator returns a generator of SignalROperatorSecrets instances for property testing. +func SignalROperatorSecretsGenerator() gopter.Gen { + if signalROperatorSecretsGenerator != nil { + return signalROperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + signalROperatorSecretsGenerator = gen.Struct(reflect.TypeOf(SignalROperatorSecrets{}), generators) + + return signalROperatorSecretsGenerator +} + func Test_UpstreamTemplate_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/signalrservice/v1api20211001/storage/structure.txt b/v2/api/signalrservice/v1api20211001/storage/structure.txt index 75be6e19f92..252a4edc919 100644 --- a/v2/api/signalrservice/v1api20211001/storage/structure.txt +++ b/v2/api/signalrservice/v1api20211001/storage/structure.txt @@ -4,7 +4,7 @@ github.com/Azure/azure-service-operator/v2/api/signalrservice/v1api20211001/stor │ └── "2021-10-01" └── SignalR: Resource ├── Owner: github.com/Azure/azure-service-operator/v2/api/resources/v1apiv20191001.ResourceGroup - ├── Spec: Object (18 properties) + ├── Spec: Object (19 properties) │ ├── AzureName: string │ ├── Cors: *Object (2 properties) │ │ ├── AllowedOrigins: string[] @@ -36,6 +36,14 @@ github.com/Azure/azure-service-operator/v2/api/signalrservice/v1api20211001/stor │ │ ├── Allow: string[] │ │ ├── Deny: string[] │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── OperatorSpec: *Object (2 properties) + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Secrets: *Object (5 properties) + │ │ ├── PrimaryConnectionString: *genruntime.SecretDestination + │ │ ├── PrimaryKey: *genruntime.SecretDestination + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── SecondaryConnectionString: *genruntime.SecretDestination + │ │ └── SecondaryKey: *genruntime.SecretDestination │ ├── OriginalVersion: string │ ├── Owner: *genruntime.KnownResourceReference │ ├── PropertyBag: genruntime.PropertyBag diff --git a/v2/api/signalrservice/v1api20211001/storage/zz_generated.deepcopy.go b/v2/api/signalrservice/v1api20211001/storage/zz_generated.deepcopy.go index 1d2791cca1b..8a0b56d8031 100644 --- a/v2/api/signalrservice/v1api20211001/storage/zz_generated.deepcopy.go +++ b/v2/api/signalrservice/v1api20211001/storage/zz_generated.deepcopy.go @@ -872,6 +872,75 @@ func (in *SignalRNetworkACLs_STATUS) DeepCopy() *SignalRNetworkACLs_STATUS { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignalROperatorSecrets) DeepCopyInto(out *SignalROperatorSecrets) { + *out = *in + if in.PrimaryConnectionString != nil { + in, out := &in.PrimaryConnectionString, &out.PrimaryConnectionString + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.PrimaryKey != nil { + in, out := &in.PrimaryKey, &out.PrimaryKey + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SecondaryConnectionString != nil { + in, out := &in.SecondaryConnectionString, &out.SecondaryConnectionString + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.SecondaryKey != nil { + in, out := &in.SecondaryKey, &out.SecondaryKey + *out = new(genruntime.SecretDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignalROperatorSecrets. +func (in *SignalROperatorSecrets) DeepCopy() *SignalROperatorSecrets { + if in == nil { + return nil + } + out := new(SignalROperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignalROperatorSpec) DeepCopyInto(out *SignalROperatorSpec) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(SignalROperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignalROperatorSpec. +func (in *SignalROperatorSpec) DeepCopy() *SignalROperatorSpec { + if in == nil { + return nil + } + out := new(SignalROperatorSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SignalRTlsSettings) DeepCopyInto(out *SignalRTlsSettings) { *out = *in @@ -1143,6 +1212,11 @@ func (in *SignalR_Spec) DeepCopyInto(out *SignalR_Spec) { *out = new(SignalRNetworkACLs) (*in).DeepCopyInto(*out) } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(SignalROperatorSpec) + (*in).DeepCopyInto(*out) + } if in.Owner != nil { in, out := &in.Owner, &out.Owner *out = new(genruntime.KnownResourceReference) diff --git a/v2/api/signalrservice/v1api20211001/structure.txt b/v2/api/signalrservice/v1api20211001/structure.txt index 02d5ef2128c..8fdfa10b5cb 100644 --- a/v2/api/signalrservice/v1api20211001/structure.txt +++ b/v2/api/signalrservice/v1api20211001/structure.txt @@ -4,7 +4,7 @@ github.com/Azure/azure-service-operator/v2/api/signalrservice/v1api20211001 │ └── "2021-10-01" ├── SignalR: Resource │ ├── Owner: github.com/Azure/azure-service-operator/v2/api/resources/v1apiv20191001.ResourceGroup -│ ├── Spec: Object (16 properties) +│ ├── Spec: Object (17 properties) │ │ ├── AzureName: string │ │ ├── Cors: *Object (1 property) │ │ │ └── AllowedOrigins: string[] @@ -58,6 +58,12 @@ github.com/Azure/azure-service-operator/v2/api/signalrservice/v1api20211001 │ │ │ ├── "RESTAPI" │ │ │ ├── "ServerConnection" │ │ │ └── "Trace" +│ │ ├── OperatorSpec: *Object (1 property) +│ │ │ └── Secrets: *Object (4 properties) +│ │ │ ├── PrimaryConnectionString: *genruntime.SecretDestination +│ │ │ ├── PrimaryKey: *genruntime.SecretDestination +│ │ │ ├── SecondaryConnectionString: *genruntime.SecretDestination +│ │ │ └── SecondaryKey: *genruntime.SecretDestination │ │ ├── Owner: *genruntime.KnownResourceReference │ │ ├── PublicNetworkAccess: *string │ │ ├── ResourceLogConfiguration: *Object (1 property) diff --git a/v2/api/signalrservice/v1api20211001/zz_generated.deepcopy.go b/v2/api/signalrservice/v1api20211001/zz_generated.deepcopy.go index a08edbb649c..fbb48a41b9e 100644 --- a/v2/api/signalrservice/v1api20211001/zz_generated.deepcopy.go +++ b/v2/api/signalrservice/v1api20211001/zz_generated.deepcopy.go @@ -1332,6 +1332,61 @@ func (in *SignalRNetworkACLs_STATUS_ARM) DeepCopy() *SignalRNetworkACLs_STATUS_A return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignalROperatorSecrets) DeepCopyInto(out *SignalROperatorSecrets) { + *out = *in + if in.PrimaryConnectionString != nil { + in, out := &in.PrimaryConnectionString, &out.PrimaryConnectionString + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.PrimaryKey != nil { + in, out := &in.PrimaryKey, &out.PrimaryKey + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.SecondaryConnectionString != nil { + in, out := &in.SecondaryConnectionString, &out.SecondaryConnectionString + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.SecondaryKey != nil { + in, out := &in.SecondaryKey, &out.SecondaryKey + *out = new(genruntime.SecretDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignalROperatorSecrets. +func (in *SignalROperatorSecrets) DeepCopy() *SignalROperatorSecrets { + if in == nil { + return nil + } + out := new(SignalROperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignalROperatorSpec) DeepCopyInto(out *SignalROperatorSpec) { + *out = *in + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(SignalROperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignalROperatorSpec. +func (in *SignalROperatorSpec) DeepCopy() *SignalROperatorSpec { + if in == nil { + return nil + } + out := new(SignalROperatorSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SignalRProperties_ARM) DeepCopyInto(out *SignalRProperties_ARM) { *out = *in @@ -1862,6 +1917,11 @@ func (in *SignalR_Spec) DeepCopyInto(out *SignalR_Spec) { *out = new(SignalRNetworkACLs) (*in).DeepCopyInto(*out) } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(SignalROperatorSpec) + (*in).DeepCopyInto(*out) + } if in.Owner != nil { in, out := &in.Owner, &out.Owner *out = new(genruntime.KnownResourceReference) diff --git a/v2/azure-arm.yaml b/v2/azure-arm.yaml index ca761fbc1d5..cdc0ddb621c 100644 --- a/v2/azure-arm.yaml +++ b/v2/azure-arm.yaml @@ -2453,6 +2453,11 @@ objectModelConfiguration: SignalR: $export: true $supportedFrom: v2.0.0-alpha.4 + $azureGeneratedSecrets: + - PrimaryKey + - PrimaryConnectionString + - SecondaryKey + - SecondaryConnectionString sql: 2021-11-01: # Note that there are a few commented out resources which we are not exporting for sql. They're commented out as diff --git a/v2/cmd/asoctl/go.mod b/v2/cmd/asoctl/go.mod index 46115461a20..e0f082af6ff 100644 --- a/v2/cmd/asoctl/go.mod +++ b/v2/cmd/asoctl/go.mod @@ -39,6 +39,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redis/armredis v1.0.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.3.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus v1.2.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/signalr/armsignalr v1.2.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.2.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect diff --git a/v2/cmd/asoctl/go.sum b/v2/cmd/asoctl/go.sum index cbddaddff82..38814459526 100644 --- a/v2/cmd/asoctl/go.sum +++ b/v2/cmd/asoctl/go.sum @@ -29,6 +29,8 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.3.0 h1 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.3.0/go.mod h1:3uruTckNIGQ4iNsvAs/qrLgWBoS1pA7pCzHFmTFU+LU= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus v1.2.0 h1:jngSeKBnzC7qIk3rvbWHsLI7eeasEucORHWr2CHX0Yg= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus v1.2.0/go.mod h1:1YXAxWw6baox+KafeQU2scy21/4IHvqXoIJuCpcvpMQ= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/signalr/armsignalr v1.2.0 h1:Y8CF7FyuVVDyX5W6Azwjj3PpwUZVbXBOCyQytv/0QEA= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/signalr/armsignalr v1.2.0/go.mod h1:tzUx/enAY8RSmQhRq02uVZFeRJxdGYT6BqXwHiHoOcU= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 h1:AifHbc4mg0x9zW52WOpKbsHaDKuRhlI7TVl47thgQ70= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0/go.mod h1:T5RfihdXtBDxt1Ch2wobif3TvzTdumDy29kahv6AV9A= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.2.0 h1:UrGzkHueDwAWDdjQxC+QaXHd4tVCkISYE9j7fSSXF8k= @@ -185,8 +187,6 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/vbauerster/mpb/v8 v8.7.0 h1:n2LTGyol7qqNBcLQn8FL5Bga2O8CGF75OOYsJVFsfMg= -github.com/vbauerster/mpb/v8 v8.7.0/go.mod h1:0RgdqeTpu6cDbdWeSaDvEvfgm9O598rBnRZ09HKaV0k= github.com/vbauerster/mpb/v8 v8.7.1 h1:bQoSMMTFAg/gjsLrBYmO8gbRcZt7aDq6WI2IMa9BTqM= github.com/vbauerster/mpb/v8 v8.7.1/go.mod h1:fWgXcAu4W+0cBSUh4ZlaKJyC2KtgU27ZSTaiIk0QNsQ= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= diff --git a/v2/go.mod b/v2/go.mod index e595f3c4e97..0414c3a2a08 100644 --- a/v2/go.mod +++ b/v2/go.mod @@ -16,6 +16,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redis/armredis v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.3.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus v1.2.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/signalr/armsignalr v1.2.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.2.0 github.com/benbjohnson/clock v1.3.5 diff --git a/v2/go.sum b/v2/go.sum index 13a37b87d98..70a21c0fbed 100644 --- a/v2/go.sum +++ b/v2/go.sum @@ -29,6 +29,8 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.3.0 h1 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.3.0/go.mod h1:3uruTckNIGQ4iNsvAs/qrLgWBoS1pA7pCzHFmTFU+LU= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus v1.2.0 h1:jngSeKBnzC7qIk3rvbWHsLI7eeasEucORHWr2CHX0Yg= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus v1.2.0/go.mod h1:1YXAxWw6baox+KafeQU2scy21/4IHvqXoIJuCpcvpMQ= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/signalr/armsignalr v1.2.0 h1:Y8CF7FyuVVDyX5W6Azwjj3PpwUZVbXBOCyQytv/0QEA= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/signalr/armsignalr v1.2.0/go.mod h1:tzUx/enAY8RSmQhRq02uVZFeRJxdGYT6BqXwHiHoOcU= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 h1:AifHbc4mg0x9zW52WOpKbsHaDKuRhlI7TVl47thgQ70= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0/go.mod h1:T5RfihdXtBDxt1Ch2wobif3TvzTdumDy29kahv6AV9A= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.2.0 h1:UrGzkHueDwAWDdjQxC+QaXHd4tVCkISYE9j7fSSXF8k= diff --git a/v2/internal/controllers/crd_signalr_test.go b/v2/internal/controllers/crd_signalr_test.go index 63d3d03e53f..3a002a4d0c5 100644 --- a/v2/internal/controllers/crd_signalr_test.go +++ b/v2/internal/controllers/crd_signalr_test.go @@ -9,10 +9,13 @@ import ( "testing" . "github.com/onsi/gomega" + v1 "k8s.io/api/core/v1" + "sigs.k8s.io/controller-runtime/pkg/client" signalrservice "github.com/Azure/azure-service-operator/v2/api/signalrservice/v1api20211001" "github.com/Azure/azure-service-operator/v2/internal/testcommon" "github.com/Azure/azure-service-operator/v2/internal/util/to" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) func Test_SignalRService_SignalR_CRUD(t *testing.T) { @@ -97,6 +100,27 @@ func Test_SignalRService_SignalR_CRUD(t *testing.T) { tc.Expect(signalR.Status.Cors).ToNot(BeNil()) tc.Expect(signalR.Status.Cors.AllowedOrigins).To(ContainElement("https://definitelymydomain.horse")) + // There should be no secrets at this point + list := &v1.SecretList{} + tc.ListResources(list, client.InNamespace(tc.Namespace)) + tc.Expect(list.Items).To(HaveLen(0)) + + // Run sub-tests on the SignalR service in sequence + tc.RunSubtests( + testcommon.Subtest{ + Name: "SecretsWrittenToSameKubeSecret", + Test: func(tc *testcommon.KubePerTestContext) { + SignalR_SecretsWrittenToSameKubeSecret(tc, &signalR) + }, + }, + testcommon.Subtest{ + Name: "SecretsWrittenToDifferentKubeSecrets", + Test: func(tc *testcommon.KubePerTestContext) { + SignalR_SecretsWrittenToDifferentKubeSecrets(tc, &signalR) + }, + }, + ) + tc.DeleteResourcesAndWait(&signalR) // Ensure that the resource was really deleted in Azure @@ -105,3 +129,66 @@ func Test_SignalRService_SignalR_CRUD(t *testing.T) { tc.Expect(retryAfter).To(BeZero()) tc.Expect(exists).To(BeFalse()) } + +func SignalR_SecretsWrittenToSameKubeSecret(tc *testcommon.KubePerTestContext, signalR *signalrservice.SignalR) { + old := signalR.DeepCopy() + signalrSecret := "signalrsecret" + signalR.Spec.OperatorSpec = &signalrservice.SignalROperatorSpec{ + Secrets: &signalrservice.SignalROperatorSecrets{ + PrimaryKey: &genruntime.SecretDestination{ + Name: signalrSecret, + Key: "primarykey", + }, + PrimaryConnectionString: &genruntime.SecretDestination{ + Name: signalrSecret, + Key: "primaryconnectionstring", + }, + SecondaryKey: &genruntime.SecretDestination{ + Name: signalrSecret, + Key: "secondarykey", + }, + SecondaryConnectionString: &genruntime.SecretDestination{ + Name: signalrSecret, + Key: "secondaryconnectionstring", + }, + }, + } + tc.PatchResourceAndWait(old, signalR) + + tc.ExpectSecretHasKeys(signalrSecret, "primarykey", "primaryconnectionstring", "secondarykey", "secondaryconnectionstring") +} + +func SignalR_SecretsWrittenToDifferentKubeSecrets(tc *testcommon.KubePerTestContext, signalR *signalrservice.SignalR) { + old := signalR.DeepCopy() + primaryKeySecret := "secret1" + primaryConnectionString := "secret2" + secondaryKeySecret := "secret3" + secondaryConnectionString := "secret4" + + signalR.Spec.OperatorSpec = &signalrservice.SignalROperatorSpec{ + Secrets: &signalrservice.SignalROperatorSecrets{ + PrimaryKey: &genruntime.SecretDestination{ + Name: primaryKeySecret, + Key: "primarykey", + }, + PrimaryConnectionString: &genruntime.SecretDestination{ + Name: primaryConnectionString, + Key: "primaryconnectionstring", + }, + SecondaryKey: &genruntime.SecretDestination{ + Name: secondaryKeySecret, + Key: "secondarykey", + }, + SecondaryConnectionString: &genruntime.SecretDestination{ + Name: secondaryConnectionString, + Key: "secondaryconnectionstring", + }, + }, + } + tc.PatchResourceAndWait(old, signalR) + + tc.ExpectSecretHasKeys(primaryKeySecret, "primarykey") + tc.ExpectSecretHasKeys(primaryConnectionString, "primaryconnectionstring") + tc.ExpectSecretHasKeys(secondaryKeySecret, "secondarykey") + tc.ExpectSecretHasKeys(secondaryConnectionString, "secondaryconnectionstring") +} diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Signalrservice_v1api_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Signalrservice_v1api_CreationAndDeletion.yaml index d2e022605f2..008dbb9f2e8 100644 --- a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Signalrservice_v1api_CreationAndDeletion.yaml +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Signalrservice_v1api_CreationAndDeletion.yaml @@ -1,578 +1,613 @@ --- version: 1 interactions: -- request: - body: '{"location":"westus2","name":"asotest-rg-bywqwk","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "93" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk?api-version=2020-06-01 - method: PUT - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk","name":"asotest-rg-bywqwk","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "276" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk?api-version=2020-06-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk","name":"asotest-rg-bywqwk","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"identity":{"type":"SystemAssigned"},"location":"westcentralus","name":"asotestrhnmqz","properties":{"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"features":[{"flag":"ServiceMode","value":"Classic"},{"flag":"EnableConnectivityLogs","value":"true"},{"flag":"EnableMessagingLogs","value":"true"},{"flag":"EnableLiveTrace","value":"true"}],"networkACLs":{"defaultAction":"Deny","privateEndpoints":[{"allow":["ServerConnection"],"name":"privateendpointname"}],"publicNetwork":{"allow":["ClientConnection"]}},"tls":{"clientCertEnabled":false},"upstream":{"templates":[{"categoryPattern":"*","eventPattern":"connect,disconnect","hubPattern":"*","urlTemplate":"https://example.com/chat/api/connect"}]}},"sku":{"capacity":1,"name":"Standard_S1"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "758" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 - method: PUT - response: - body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Creating","externalIP":null,"hostName":"asotestrhnmqz.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0-preview","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotestrhnmqz","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"072ea900-5143-4339-9c2c-863829b02879","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westcentralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz","name":"asotestrhnmqz","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"5fe8acba-4694-403d-8c10-581a22063ff8","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"5fe8acba-4694-403d-8c10-581a22063ff8","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - Cache-Control: - - no-cache - Content-Length: - - "1781" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationResults/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 201 Created - code: 201 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 - method: GET - response: - body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.69.0.206","hostName":"asotestrhnmqz.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotestrhnmqz","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"072ea900-5143-4339-9c2c-863829b02879","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westcentralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz","name":"asotestrhnmqz","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"5fe8acba-4694-403d-8c10-581a22063ff8","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"5fe8acba-4694-403d-8c10-581a22063ff8","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 - method: GET - response: - body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.69.0.206","hostName":"asotestrhnmqz.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotestrhnmqz","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"072ea900-5143-4339-9c2c-863829b02879","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westcentralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz","name":"asotestrhnmqz","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"5fe8acba-4694-403d-8c10-581a22063ff8","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"5fe8acba-4694-403d-8c10-581a22063ff8","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Kestrel - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Rp-Server-Mvid: - - 2eff58f2-2a8b-42ad-a2af-99df03373a76 - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk?api-version=2020-06-01 - method: DELETE - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 - method: DELETE - response: - body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-bywqwk'' - could not be found."}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "109" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" + - request: + body: '{"location":"westus2","name":"asotest-rg-bywqwk","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk?api-version=2020-06-01 + method: PUT + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk","name":"asotest-rg-bywqwk","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + status: 201 Created + code: 201 + duration: "" + - request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk?api-version=2020-06-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk","name":"asotest-rg-bywqwk","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + status: 200 OK + code: 200 + duration: "" + - request: + body: '{"identity":{"type":"SystemAssigned"},"location":"westcentralus","name":"asotestrhnmqz","properties":{"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"features":[{"flag":"ServiceMode","value":"Classic"},{"flag":"EnableConnectivityLogs","value":"true"},{"flag":"EnableMessagingLogs","value":"true"},{"flag":"EnableLiveTrace","value":"true"}],"networkACLs":{"defaultAction":"Deny","privateEndpoints":[{"allow":["ServerConnection"],"name":"privateendpointname"}],"publicNetwork":{"allow":["ClientConnection"]}},"tls":{"clientCertEnabled":false},"upstream":{"templates":[{"categoryPattern":"*","eventPattern":"connect,disconnect","hubPattern":"*","urlTemplate":"https://example.com/chat/api/connect"}]}},"sku":{"capacity":1,"name":"Standard_S1"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "758" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 + method: PUT + response: + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Creating","externalIP":null,"hostName":"asotestrhnmqz.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0-preview","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotestrhnmqz","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"072ea900-5143-4339-9c2c-863829b02879","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westcentralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz","name":"asotestrhnmqz","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"5fe8acba-4694-403d-8c10-581a22063ff8","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"5fe8acba-4694-403d-8c10-581a22063ff8","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + Cache-Control: + - no-cache + Content-Length: + - "1781" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationResults/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 201 Created + code: 201 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz/operationStatuses/20622cb1-cf64-41a9-a839-e3cdb73694f3","name":"20622cb1-cf64-41a9-a839-e3cdb73694f3","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 + method: GET + response: + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.69.0.206","hostName":"asotestrhnmqz.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotestrhnmqz","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"072ea900-5143-4339-9c2c-863829b02879","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westcentralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz","name":"asotestrhnmqz","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"5fe8acba-4694-403d-8c10-581a22063ff8","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"5fe8acba-4694-403d-8c10-581a22063ff8","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 + method: GET + response: + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.69.0.206","hostName":"asotestrhnmqz.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotestrhnmqz","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"072ea900-5143-4339-9c2c-863829b02879","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westcentralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/SignalR/asotestrhnmqz","name":"asotestrhnmqz","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"5fe8acba-4694-403d-8c10-581a22063ff8","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"5fe8acba-4694-403d-8c10-581a22063ff8","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 2eff58f2-2a8b-42ad-a2af-99df03373a76 + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk?api-version=2020-06-01 + method: DELETE + response: + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + status: 202 Accepted + code: 202 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + method: GET + response: + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + status: 202 Accepted + code: 202 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + method: GET + response: + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + status: 202 Accepted + code: 202 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + method: GET + response: + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + status: 202 Accepted + code: 202 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + method: GET + response: + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + status: 202 Accepted + code: 202 + duration: "" + - request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRCWVdRV0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + method: GET + response: + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + status: 200 OK + code: 200 + duration: "" + - request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz?api-version=2021-10-01 + method: DELETE + response: + body: + '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-bywqwk'' + could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + status: 404 Not Found + code: 404 + duration: "" + - request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-bywqwk/providers/Microsoft.SignalRService/signalR/asotestrhnmqz/listKeys?api-version=2023-02-01 + method: POST + response: + body: '{ "primaryKey":"{KEY}","secondaryKey":"{KEY}","primaryConnectionString":"Endpoint=https://asotestrhnmqz.service.signalr.net;AccessKey={KEY};Version=1.0;","secondaryConnectionString":"Endpoint=https://asotestrhnmqz.service.signalr.net;AccessKey={KEY};Version=1.0;"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Elapsed-Time: + - "115" + Expires: + - "-1" + Pragma: + - no-cache + Request-Id: + - 7f3d1038-3b86-4880-9a2c-bd27ea14d96f + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding,Accept-Encoding + X-Content-Type-Options: + - nosniff + status: 200 OK + code: 200 + duration: "" diff --git a/v2/internal/controllers/recordings/Test_SignalRService_SignalR_CRUD.yaml b/v2/internal/controllers/recordings/Test_SignalRService_SignalR_CRUD.yaml index 48d53eef04a..0413a8ef83b 100644 --- a/v2/internal/controllers/recordings/Test_SignalRService_SignalR_CRUD.yaml +++ b/v2/internal/controllers/recordings/Test_SignalRService_SignalR_CRUD.yaml @@ -20,6 +20,8 @@ interactions: headers: Cache-Control: - no-cache + Content-Length: + - "276" Content-Type: - application/json; charset=utf-8 Expires: @@ -28,12 +30,10 @@ interactions: - no-cache Strict-Transport-Security: - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding X-Content-Type-Options: - nosniff - status: 200 OK - code: 200 + status: 201 Created + code: 201 duration: "" - request: body: "" @@ -80,18 +80,20 @@ interactions: url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 method: PUT response: - body: "" + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Creating","externalIP":null,"hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0-preview","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' headers: Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94?api-version=2021-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 Cache-Control: - no-cache Content-Length: - - "0" + - "1811" + Content-Type: + - application/json; charset=utf-8 Expires: - "-1" Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationResults/97669167-fb29-40f1-9980-4cc288cb0e94?api-version=2021-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationResults/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 Pragma: - no-cache Server: @@ -101,9 +103,9 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae - status: 202 Accepted - code: 202 + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 201 Created + code: 201 duration: "" - request: body: "" @@ -111,10 +113,10 @@ interactions: headers: Test-Request-Attempt: - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94","name":"97669167-fb29-40f1-9980-4cc288cb0e94","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","name":"9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","status":"Running","startTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -133,7 +135,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -143,10 +145,10 @@ interactions: headers: Test-Request-Attempt: - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94","name":"97669167-fb29-40f1-9980-4cc288cb0e94","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","name":"9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","status":"Running","startTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -165,7 +167,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -175,10 +177,10 @@ interactions: headers: Test-Request-Attempt: - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94","name":"97669167-fb29-40f1-9980-4cc288cb0e94","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","name":"9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","status":"Running","startTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -197,7 +199,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -207,10 +209,74 @@ interactions: headers: Test-Request-Attempt: - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","name":"9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","name":"9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/97669167-fb29-40f1-9980-4cc288cb0e94","name":"97669167-fb29-40f1-9980-4cc288cb0e94","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","name":"9692cca7-fc14-4fe7-bd6d-8fa843f5e6ba","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -229,7 +295,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -242,7 +308,7 @@ interactions: url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 method: GET response: - body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.37","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"8b0beb97-85ba-4ec4-862a-89550255e3ef","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR"}' + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' headers: Cache-Control: - no-cache @@ -261,7 +327,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -276,7 +342,7 @@ interactions: url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 method: GET response: - body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.37","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"8b0beb97-85ba-4ec4-862a-89550255e3ef","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR"}' + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' headers: Cache-Control: - no-cache @@ -295,7 +361,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -317,7 +383,7 @@ interactions: body: "" headers: Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002?api-version=2021-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222?api-version=2021-10-01 Cache-Control: - no-cache Content-Length: @@ -325,7 +391,7 @@ interactions: Expires: - "-1" Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationResults/6ce484a8-72c7-4b40-ac73-7db773be0002?api-version=2021-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationResults/2362e165-a0f6-40d4-8016-c6086d362222?api-version=2021-10-01 Pragma: - no-cache Server: @@ -335,7 +401,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 202 Accepted code: 202 duration: "" @@ -345,10 +411,10 @@ interactions: headers: Test-Request-Attempt: - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002","name":"6ce484a8-72c7-4b40-ac73-7db773be0002","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222","name":"2362e165-a0f6-40d4-8016-c6086d362222","status":"Running","startTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -367,7 +433,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -377,10 +443,10 @@ interactions: headers: Test-Request-Attempt: - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002","name":"6ce484a8-72c7-4b40-ac73-7db773be0002","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222","name":"2362e165-a0f6-40d4-8016-c6086d362222","status":"Running","startTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -399,7 +465,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -409,10 +475,10 @@ interactions: headers: Test-Request-Attempt: - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002","name":"6ce484a8-72c7-4b40-ac73-7db773be0002","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222","name":"2362e165-a0f6-40d4-8016-c6086d362222","status":"Running","startTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -431,7 +497,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -441,10 +507,42 @@ interactions: headers: Test-Request-Attempt: - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002?api-version=2021-10-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222","name":"2362e165-a0f6-40d4-8016-c6086d362222","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222?api-version=2021-10-01 method: GET response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/6ce484a8-72c7-4b40-ac73-7db773be0002","name":"6ce484a8-72c7-4b40-ac73-7db773be0002","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/2362e165-a0f6-40d4-8016-c6086d362222","name":"2362e165-a0f6-40d4-8016-c6086d362222","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' headers: Cache-Control: - no-cache @@ -463,7 +561,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -476,7 +574,7 @@ interactions: url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 method: GET response: - body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.37","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"8b0beb97-85ba-4ec4-862a-89550255e3ef","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR"}' + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' headers: Cache-Control: - no-cache @@ -495,7 +593,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -510,7 +608,607 @@ interactions: url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 method: GET response: - body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.37","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"8b0beb97-85ba-4ec4-862a-89550255e3ef","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR"}' + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: '{"identity":{"type":"SystemAssigned"},"location":"westus2","name":"asotest-signalr-zijjug","properties":{"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"features":[{"flag":"ServiceMode","value":"Classic"},{"flag":"EnableConnectivityLogs","value":"true"},{"flag":"EnableMessagingLogs","value":"true"},{"flag":"EnableLiveTrace","value":"true"}],"networkACLs":{"defaultAction":"Deny","privateEndpoints":[{"allow":["ServerConnection"],"name":"privateendpointname"}],"publicNetwork":{"allow":["ClientConnection"]}},"tls":{"clientCertEnabled":false},"upstream":{"templates":[{"categoryPattern":"*","eventPattern":"connect,disconnect","hubPattern":"*","urlTemplate":"https://example.com/chat/api/connect"}]}},"sku":{"capacity":1,"name":"Standard_S1"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "796" + Content-Type: + - application/json + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 + method: PUT + response: + body: "" + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab?api-version=2021-10-01 + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationResults/ea8afda5-93cd-4626-b406-b3cc955931ab?api-version=2021-10-01 + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 202 Accepted + code: 202 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab","name":"ea8afda5-93cd-4626-b406-b3cc955931ab","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab","name":"ea8afda5-93cd-4626-b406-b3cc955931ab","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab","name":"ea8afda5-93cd-4626-b406-b3cc955931ab","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab","name":"ea8afda5-93cd-4626-b406-b3cc955931ab","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/ea8afda5-93cd-4626-b406-b3cc955931ab","name":"ea8afda5-93cd-4626-b406-b3cc955931ab","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 + method: GET + response: + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 + method: GET + response: + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug/listKeys?api-version=2023-02-01 + method: POST + response: + body: '{"primaryKey":"{KEY}","secondaryKey":"{KEY}","primaryConnectionString":"Endpoint=https://asotest-signalr-zijjug.service.signalr.net;AccessKey={KEY};Version=1.0;","secondaryConnectionString":"Endpoint=https://asotest-signalr-zijjug.service.signalr.net;AccessKey={KEY};Version=1.0;"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: '{"identity":{"type":"SystemAssigned"},"location":"westus2","name":"asotest-signalr-zijjug","properties":{"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"features":[{"flag":"ServiceMode","value":"Classic"},{"flag":"EnableConnectivityLogs","value":"true"},{"flag":"EnableMessagingLogs","value":"true"},{"flag":"EnableLiveTrace","value":"true"}],"networkACLs":{"defaultAction":"Deny","privateEndpoints":[{"allow":["ServerConnection"],"name":"privateendpointname"}],"publicNetwork":{"allow":["ClientConnection"]}},"tls":{"clientCertEnabled":false},"upstream":{"templates":[{"categoryPattern":"*","eventPattern":"connect,disconnect","hubPattern":"*","urlTemplate":"https://example.com/chat/api/connect"}]}},"sku":{"capacity":1,"name":"Standard_S1"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "796" + Content-Type: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 + method: PUT + response: + body: "" + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15?api-version=2021-10-01 + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationResults/c44c6543-5a2a-429e-a846-0c06d7b19f15?api-version=2021-10-01 + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 202 Accepted + code: 202 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15","name":"c44c6543-5a2a-429e-a846-0c06d7b19f15","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15","name":"c44c6543-5a2a-429e-a846-0c06d7b19f15","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15","name":"c44c6543-5a2a-429e-a846-0c06d7b19f15","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15","name":"c44c6543-5a2a-429e-a846-0c06d7b19f15","status":"Running","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15?api-version=2021-10-01 + method: GET + response: + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug/operationStatuses/c44c6543-5a2a-429e-a846-0c06d7b19f15","name":"c44c6543-5a2a-429e-a846-0c06d7b19f15","status":"Succeeded","startTime":"2001-02-03T04:05:06Z","endTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 + method: GET + response: + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug?api-version=2021-10-01 + method: GET + response: + body: '{"sku":{"name":"Standard_S1","tier":"Standard","size":"S1","capacity":1},"properties":{"provisioningState":"Succeeded","externalIP":"20.51.12.63","hostName":"asotest-signalr-zijjug.service.signalr.net","publicPort":443,"serverPort":443,"version":"1.0","privateEndpointConnections":[],"sharedPrivateLinkResources":[],"tls":{"clientCertEnabled":false},"hostNamePrefix":"asotest-signalr-zijjug","features":[{"flag":"ServiceMode","value":"Classic","properties":{}},{"flag":"EnableConnectivityLogs","value":"True","properties":{}},{"flag":"EnableMessagingLogs","value":"True","properties":{}},{"flag":"EnableLiveTrace","value":"True","properties":{}}],"resourceLogConfiguration":null,"cors":{"allowedOrigins":["https://foo.com","https://bar.com","https://definitelymydomain.horse"]},"upstream":{"templates":[{"hubPattern":"*","eventPattern":"connect,disconnect","categoryPattern":"*","urlTemplate":"https://example.com/chat/api/connect","auth":null}]},"networkACLs":{"defaultAction":"Deny","publicNetwork":{"allow":["ClientConnection"],"deny":null},"privateEndpoints":[]},"publicNetworkAccess":"Enabled","disableLocalAuth":false,"disableAadAuth":false},"kind":"SignalR","identity":{"type":"SystemAssigned","principalId":"3745e80f-9a90-4875-8b3b-118a6111d4b6","tenantId":"00000000-0000-0000-0000-000000000000"},"location":"westus2","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/SignalR/asotest-signalr-zijjug","name":"asotest-signalr-zijjug","type":"Microsoft.SignalRService/SignalR","systemData":{"createdBy":"99de824c-b6d0-4769-af94-8819d4093b83","createdByType":"Application","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"99de824c-b6d0-4769-af94-8819d4093b83","lastModifiedByType":"Application","lastModifiedAt":"2001-02-03T04:05:06Z"}}' + headers: + Cache-Control: + - no-cache + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Server: + - Kestrel + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Rp-Server-Mvid: + - 488870f2-915c-4bc2-bb68-d964479fb962 + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-sscbpj/providers/Microsoft.SignalRService/signalR/asotest-signalr-zijjug/listKeys?api-version=2023-02-01 + method: POST + response: + body: '{"primaryKey":"{KEY}","secondaryKey":"{KEY}","primaryConnectionString":"Endpoint=https://asotest-signalr-zijjug.service.signalr.net;AccessKey={KEY};Version=1.0;","secondaryConnectionString":"Endpoint=https://asotest-signalr-zijjug.service.signalr.net;AccessKey={KEY};Version=1.0;"}' headers: Cache-Control: - no-cache @@ -529,7 +1227,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 200 OK code: 200 duration: "" @@ -559,7 +1257,7 @@ interactions: X-Content-Type-Options: - nosniff X-Rp-Server-Mvid: - - 44146d00-b519-4436-93e7-5e154f069bae + - 488870f2-915c-4bc2-bb68-d964479fb962 status: 204 No Content code: 204 duration: "" @@ -617,7 +1315,7 @@ interactions: Expires: - "-1" Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRTU0NCUEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRTU0NCUEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638406828246175400&c=MIIHHjCCBgagAwIBAgITfwI8ooo2761TEgO3SgAEAjyiijANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDIwHhcNMjMxMTAxMTc1NTI2WhcNMjQxMDI2MTc1NTI2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ0WQLjgbZj70uXwL_AnKvEas1GVvOB7Og4giEY7H0L78RFiY2-CzzgMKyZV8H3ACZxqQoBMWsq9XAf4iUNAer7s23VPyWkoVdr2uTc8SCvur4qja77OTMKiRVU277ViRu_Mb-fJvQKeRO3Q8A4Sg1A63a2VQ_WlyOCHPBj-gUF0zU4SYnlqSYGcNmuhCjtHpVvF_N3CGz0JlGTo3ia0wmks2y95IHeD0lcr0AgP73_eafbKafZn4Z56GdC3lngKdhyEiQi_kPyxaydv1PfV2xX9OLKvB19e9jLB43QA9r5k5DsAhqtv6eqwHBdW07S9MCMu8kwoYUpX1TTGapizc6ECAwEAAaOCBAswggQHMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMig0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAyKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMig0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3J0MB0GA1UdDgQWBBTwk8yVBP3k-Qa8LdSw6mv--mLIvDAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBSuecJrXSWIEwb2BwnDl3x7l48dVTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAKR8h2puMUi3SGdIfblcEylOBfcaCRtDDIvC64QKLae7vOAe1f8SpXEFfYeIl5xydb8lEUYApxL701SQSy-NPuBuuQ0CIMKjZ-xCj9VbjQIykosQBVJvxp5I0TplyumFiehQP3zZuc1PZ2hg05aq3CKSbJGKFlow_8P9RN66yeKWGE7SWV9NZThEL8VfEXjl_ITgWb-L1SmnFKTdOVNVDQoRjjX-JqVobqh0O4K0dsPapDoAdqjIECodvocGyWtCEwIk-j8yyBxqX_JzzumMzxUMrxCjaosaJVOvoJB7vh6WuiYfHondyzaGqjm9Bjpqj46bQXojx6xALlzNX5x_j_g&s=Fdnt9WcLvVtVGT_YIPJbGC590Xk5jvE6zCS-rDAcv2yzIX8sw1b_NBLKX68BURW6R1gKXgAADMGaKe1YrkmFDB3YJBu2qzuFe94gsccnaDWUcdf9folr4OdLhJLMmy0r7eKYlK3kLe57Rvj1jH5gOidvs8y1XUlJkF5HwkDXfkoEkxS7fEtJWqceY_5CyAf2D9PEDFCZEs4duvQ57oEuKC1qZrfn6HLqerYjk0Dr746uKKa5SAwyysHkYyOhQp9eVvjnAgib4LnykLkZXcdlD0T1CvxLcUvUOmeVI1bXhCHkDGMSpj2J25n2sk54KTOl-CdZuKCTA_aHWs69QjmrUA&h=zq3GWMAEST4JWHZBrQK1t_agM04khzgK0oEhxt147C8 Pragma: - no-cache Retry-After: @@ -635,7 +1333,7 @@ interactions: headers: Test-Request-Attempt: - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRTU0NCUEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRTU0NCUEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638406828246175400&c=MIIHHjCCBgagAwIBAgITfwI8ooo2761TEgO3SgAEAjyiijANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDIwHhcNMjMxMTAxMTc1NTI2WhcNMjQxMDI2MTc1NTI2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ0WQLjgbZj70uXwL_AnKvEas1GVvOB7Og4giEY7H0L78RFiY2-CzzgMKyZV8H3ACZxqQoBMWsq9XAf4iUNAer7s23VPyWkoVdr2uTc8SCvur4qja77OTMKiRVU277ViRu_Mb-fJvQKeRO3Q8A4Sg1A63a2VQ_WlyOCHPBj-gUF0zU4SYnlqSYGcNmuhCjtHpVvF_N3CGz0JlGTo3ia0wmks2y95IHeD0lcr0AgP73_eafbKafZn4Z56GdC3lngKdhyEiQi_kPyxaydv1PfV2xX9OLKvB19e9jLB43QA9r5k5DsAhqtv6eqwHBdW07S9MCMu8kwoYUpX1TTGapizc6ECAwEAAaOCBAswggQHMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMig0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAyKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMig0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3J0MB0GA1UdDgQWBBTwk8yVBP3k-Qa8LdSw6mv--mLIvDAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDIoNCkuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBSuecJrXSWIEwb2BwnDl3x7l48dVTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAKR8h2puMUi3SGdIfblcEylOBfcaCRtDDIvC64QKLae7vOAe1f8SpXEFfYeIl5xydb8lEUYApxL701SQSy-NPuBuuQ0CIMKjZ-xCj9VbjQIykosQBVJvxp5I0TplyumFiehQP3zZuc1PZ2hg05aq3CKSbJGKFlow_8P9RN66yeKWGE7SWV9NZThEL8VfEXjl_ITgWb-L1SmnFKTdOVNVDQoRjjX-JqVobqh0O4K0dsPapDoAdqjIECodvocGyWtCEwIk-j8yyBxqX_JzzumMzxUMrxCjaosaJVOvoJB7vh6WuiYfHondyzaGqjm9Bjpqj46bQXojx6xALlzNX5x_j_g&s=Fdnt9WcLvVtVGT_YIPJbGC590Xk5jvE6zCS-rDAcv2yzIX8sw1b_NBLKX68BURW6R1gKXgAADMGaKe1YrkmFDB3YJBu2qzuFe94gsccnaDWUcdf9folr4OdLhJLMmy0r7eKYlK3kLe57Rvj1jH5gOidvs8y1XUlJkF5HwkDXfkoEkxS7fEtJWqceY_5CyAf2D9PEDFCZEs4duvQ57oEuKC1qZrfn6HLqerYjk0Dr746uKKa5SAwyysHkYyOhQp9eVvjnAgib4LnykLkZXcdlD0T1CvxLcUvUOmeVI1bXhCHkDGMSpj2J25n2sk54KTOl-CdZuKCTA_aHWs69QjmrUA&h=zq3GWMAEST4JWHZBrQK1t_agM04khzgK0oEhxt147C8 method: GET response: body: "" diff --git a/v2/samples/signalrservice/v1api/v1api20211001_signalr.yaml b/v2/samples/signalrservice/v1api/v1api20211001_signalr.yaml index c48b56493b3..f2f30842af2 100644 --- a/v2/samples/signalrservice/v1api/v1api20211001_signalr.yaml +++ b/v2/samples/signalrservice/v1api/v1api20211001_signalr.yaml @@ -44,3 +44,17 @@ spec: eventPattern: "connect,disconnect" hubPattern: "*" urlTemplate: "https://example.com/chat/api/connect" + operatorSpec: + secrets: + primaryKey: + name: authsecret + key: primaryKey + primaryConnectionString: + name: authsecret + key: primaryConnectionString + secondaryKey: + name: authsecret + key: secondaryKey + secondaryConnectionString: + name: authsecret + key: secondaryConnectionString